Avatar billede Slettet bruger
10. marts 2007 - 14:26 Der er 9 kommentarer

trykke på extern application

når man trykker på en button, så trykker den på et valgt koordinat(x,y) på fx '+' knappen i fx 'calc.exe'.

Dette spørgsmål behøver man ikke svare på. Ville være fedt dog:
Hvis calc.exe er minimized og når man trykker på sin button, så forbliver den minized og trykker stadig på '+' knappen
Avatar billede bertelbrander Novice
10. marts 2007 - 17:16 #1
Du skal bruge funktionen SendInput:
http://msdn2.microsoft.com/en-us/library/ms646310.aspx
Der er naturligvis en opgave i at finde ud af hvor den knap der skal trykke på befinder sig, metoden vil afhænge af hvilken type program det er.

Det er ret besværligt at trykke på en knap i et program der er minimeret eller ikke er forrest. Om det er muligt afhænger af hvilket program det er.
Avatar billede Slettet bruger
11. marts 2007 - 19:44 #2
Havde haabet paa noget kode til fx at trykke i calc
Avatar billede bertelbrander Novice
11. marts 2007 - 23:08 #3
Et lille program der trykker på 4 tallet i lommeregneren, hvis denne er i "videnskabelig" mode. Programmet går ud fra at calc.exe er dansk.

#define _WIN32_WINNT 0x0403
#include <windows.h>
#include <iostream>

int main()
{
  HWND CalcWnd = FindWindow(0, "Lommeregner");
  if(!CalcWnd)
  {
      std::cout << "Failed To find calculator..." << std::endl;
      std::cin.get();
      return 1;
  }
  RECT R;
  GetWindowRect(CalcWnd, &R);
  SetWindowPos(CalcWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
  POINT pt;
  GetCursorPos(&pt);
  SetCursorPos(R.left + 250, R.top + 200);
  INPUT Input;
  memset(&Input, 0, sizeof(Input));
  Input.type = INPUT_MOUSE;
  Input.mi.dx = R.left + 250;
  Input.mi.dy = R.top + 200;
  Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
  SendInput(1, &Input, sizeof(INPUT));
  Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
  SendInput(1, &Input, sizeof(INPUT));
  SetCursorPos(pt.x, pt.y);

  return 0;
}
Avatar billede Slettet bruger
12. marts 2007 - 18:26 #4
mange tak.
svar
Avatar billede bertelbrander Novice
12. marts 2007 - 19:32 #5
Jeg samler ikke på point.
Avatar billede Slettet bruger
12. marts 2007 - 19:39 #6
Arh det er dig som også hjalp mig på et andet tidspunkt(DOS commando).
Hvis du har lyst, ville jeg rigtig gerne se noget kode på hvordan den:

"Hvis calc.exe er minimized og når man trykker på sin button, så forbliver den minized og trykker stadig på '+' knappen"
:)
Avatar billede bertelbrander Novice
12. marts 2007 - 19:46 #7
Den del er ret bøvlet at lave, hvis det overhovedet er muligt.
Selv om det kom til at virke med calc.exe ville man sandsynligvis ikke kunne bruge samme metode med andre applikationer.
Jeg går ikke ud fra at målet er at kunne trykke på calc.exe når den er minimeret?
Avatar billede Slettet bruger
12. marts 2007 - 19:59 #8
Nej slet ikke. Er du interesseret i at tjene nogle penge ? Har et program jeg godt vil have lavet (kan kontakte dig på den mail du har stående i profil(er det også MSN), hvis du er interesseret i at se detaljerne jeg har skrevet ned)
Avatar billede bertelbrander Novice
12. marts 2007 - 20:47 #9
Nej, jeg er ikke interesseret i at tjene penge. Men du må godt sende mig en email, det er ikke MSN.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Danske Andelskassers Bank A/S

IT-konsulent

Centrica Energy

Senior BI Developer

Cognizant Technology Solutions Denmark ApS

Test Manager