![]() |
Re: Positionen durch Action merken und anklicken
|
Re: Positionen durch Action merken und anklicken
Du kannst mit einem Timer auf einem geringen Interval prüfen, ob die Maustaste gedrückt ist, wenn ja, dann speicherst du die X und Y Position.
Delphi-Quellcode:
if getasynckeystate(vk_lbutton)<>0 then //speichern
|
Re: Positionen durch Action merken und anklicken
Also ich habs jetzt fast aber wenn ich den Mausklick simulieren will dann springt die Maus immer nach recht unten in die Ecke und nicht an die Position an der sie klicken soll.
Wie kann ich das beheben? So speichere ich die Positionen und füre dann die Klicks aus:
Delphi-Quellcode:
// wird beim Hotkey 1 ausgelöst
X1:=mouse.cursorpos.x; Y1:=mouse.cursorpos.y; // wird beim Hotkey 2 ausgelöst X2:=mouse.cursorpos.x; Y2:=mouse.cursorpos.y; // wird beim Hotkey 3 ausgelöst mouse_event(MOUSEEVENTF_LEFTDOWN, x1, y1, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, x1, y1, 0, 0); mouse_event(MOUSEEVENTF_LEFTDOWN, x2, y2, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, x2, y2, 0, 0); |
Re: Positionen durch Action merken und anklicken
Probier's folgendermaßen:
Delphi-Quellcode:
Edit: Die X und Y Werte von mouse_event scheinen Delta-Größen zu sein!?
// wird beim Hotkey 1 ausgelöst
X1:=mouse.cursorpos.x; Y1:=mouse.cursorpos.y; // wird beim Hotkey 2 ausgelöst X2:=mouse.cursorpos.x; Y2:=mouse.cursorpos.y; // wird beim Hotkey 3 ausgelöst Mouse.CursorPos := Point(x1, y1); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); Mouse.CursorPos := Point(x2, y2); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz