AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Emulierter Mausklick bugt

Ein Thema von kerkerst · begonnen am 3. Sep 2010 · letzter Beitrag vom 3. Sep 2010
 
kerkerst

Registriert seit: 21. Feb 2007
Ort: Stodo
4 Beiträge
 
#1

Emulierter Mausklick bugt

  Alt 3. Sep 2010, 09:32
Hey,
Ich versuche einen Mausklick zu emulieren, dafür gibts ja Mouse_Events. Die funktionieren auch Prima in einer einzelnen Anwendung (meine Testanwendung um sie zu testen), die sonst nix tut. Dazu lasse ich mir n Screenshot generieren, in ein Image laden, und wenn ich nu iwo aufs Image klicke, springt der Mauszeiger auch dorthin und klickt.
Das habe ich dann auch in ein weiteres Programm eingebaut, einen Remote Desktop Viewer. Dort tut sich allerdings leider nix. Wenn ich das Springen und Klicken des Mauszeigers steppe (F7) funktioniert es. Aber sobald ich es normal durchlaufen lasse tut sich nix. Nur wenn ich das Programm auf dem zu betrachtenden PC als Admin starte funktioniert es ganz normal.
Delphi-Quellcode:
        
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
und
Delphi-Quellcode:
  Inp.Itype := INPUT_MOUSE;
  Inp.mi.dwFlags := MOUSEEVENTF_LEFTDOWN or MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE;
  Inp.mi.dx := round(xPos * (65535 / Screen.Width));
  Inp.mi.dy := round(yPos * (65535 / Screen.Height));
  Inp.mi.time := 0;
  Inp.mi.dwExtraInfo := 0;
  SendInput(1, Inp, SizeOf(Inp));

  Inp.Itype := INPUT_MOUSE;
  Inp.mi.dwFlags := MOUSEEVENTF_LEFTUP or MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE;
  Inp.mi.dx := round(xPos * (65535 / Screen.Width));
  Inp.mi.dy := round(yPos * (65535 / Screen.Height));
  Inp.mi.time := 0;
  Inp.mi.dwExtraInfo := 0;
  SendInput(1, Inp, SizeOf(Inp));
habe ich bisher dafür probiert. Auch ProcessMessage für 20-500ms zwischen SetCursorPos und den Mouse_events haben nicht geholfen.
Vielleicht kann mir ja jemand helfen oder hat eine andere Alternative die ich dafür benutzen kann.
Ich benutze D7 / Win7. Auf Vista gibs jedoch das selbe Verhalten.

mfG
Stephan
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz