Autor Téma: Klikani a tahani mysi  (Přečteno 782 krát)

Offline Andy

  • Mladík
  • **
  • Příspěvků: 53
  • Karma: 0
Klikani a tahani mysi
« kdy: 06-02-2015, 05:49:52 »
Ahoj,
narazil jsem na takovou divnou vec, chci klikat programove mysi do jine aplikace a vubec mi to nejde.
Odzkousel jsem snad vsechny varianty co mne napadly a nic.
Jedna se o Windows 8 a Windows 10 TP na nizsich jsem zatim nezkousel jelikoz downgrade mi neprijde jako reseni.

Nesetkal se s tim nekdo?

Kód: Delphi [Vybrat]
  1. procedure Tfrm.klikniMyskou(x,y:Integer;dw:Boolean = true;up:Boolean = true);
  2. var
  3.   Pt: TPoint;
  4. begin
  5.   Application.ProcessMessages;
  6.   Pt.x := x;
  7.   Pt.y := y;
  8.   SetCursorPos( Pt.x ,Pt.y);
  9.   // nekdy klikne a nekdy ne
  10.   Mouse_Event(MOUSEEVENTF_ABSOLUTE OR MOUSEEVENTF_LEFTDOWN, Pt.x, Pt.y, 0, 0);
  11.   Mouse_Event(MOUSEEVENTF_ABSOLUTE OR MOUSEEVENTF_LEFTUP, Pt.x, Pt.y, 0, 0);
  12.  
  13.  
  14. //  if(dw) then mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  15. //  if(up) then mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
  16.  
  17. //  if(dw) then SendMessage(Appka,WM_LBUTTONDOWN , 0, MakeLParam(x, y));
  18. //  if(up) then SendMessage(Appka,WM_LBUTTONUP, 0, MakeLParam(x, y));
  19.  
  20. //  if(dw) then PostMessageA(Appka, WM_LBUTTONDOWN , MK_MBUTTON, MakeLParam(Pt.x, Pt.y));
  21. //  if(up) then PostMessageA(Appka,WM_LBUTTONUP, MK_MBUTTON, MakeLParam(Pt.x,Pt. y));
  22.  
  23. end;
  24.  

Offline F.Komín

  • Příspěvků: 12
  • Karma: 0
    • Verze Delphi: D4, D5
Re:Klikani a tahani mysi
« Odpověď #1 kdy: 18-02-2015, 15:10:55 »
Nastavení polohy na řádku 8 v pořádku, kliknutí by měly provést příkazy:
mouse_event(MOUSEEVENTF_LEFTDOWN,0, 0, 0, 0); {stisknuti leveho tlacitka}
mouse_event(MOUSEEVENTF_LEFTUP,0, 0, 0, 0); {"pusteni" leveho tlacitka}
Vyzkoušeno v D4, D5, Windows XP.
Komín

Offline Andy

  • Mladík
  • **
  • Příspěvků: 53
  • Karma: 0
Re:Klikani a tahani mysi
« Odpověď #2 kdy: 19-02-2015, 14:54:08 »
V W7  funguje take ale nesmi se mezi DOWN a UP provest zadna akce, jinak to zase "dela co chce" takze tahani mysi si tez dela co chce :-/