![]() |
Mausklick u. Tastendruck an Anwendung senden
Ich hab schon eine gewisse zeit hier im forum gesucht, aber nichts brauchbares gefunden, könnte auch dran liegen dasich nicht genau weiß nach was ich suchen soll (:
also zu meinem problem, ich möchte einen rechtsklick simulieren, mit "mouse_event(MOUSEEVENTF_RIGHTDOWN,..." hab ichs schon probiert, auf dem desktop, in aktiven fenstern etc. funktioniert's auch, bloß das spiel nimmts leider nicht an... der tastendruck wird durch "SendKeys('...')" simuliert, im spiel erfolgt allerdings keine reaktion :( .. das wars auch, falls ihr noch wissen wollt um welches spiel es sich handelt, es geht um mu.exe ein mmorpg (: bin dankbar für jede art von hilfe, danke schonmal im voraus ... edit: ich weiß nun wenigstens woran es liegt, weil es ein directx window ist.. eine lösung für mein problem hab ich allerdings noch nicht gefunden ... |
Re: Mausklick u. Tastendruck an Anwendung senden
moin moin!
Ich erinnere mich dunkel, dass es mal bei ![]() ![]() Sollte es mir noch über den Weg laufen werde ich es hier Posten. Edit: Bin fündig geworden: ![]() Hoffe das hilft dir weiter. |
Re: Mausklick u. Tastendruck an Anwendung senden
ja, das könnte mir tatsächlich sweiterhelfen :p gleich ma ausprobieren ...
vielen dank :> |
Re: Mausklick u. Tastendruck an Anwendung senden
position abfragen kannste du sie sie mit
Delphi-Quellcode:
bitte schön....
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin Caption := IntToStr(X)+' : '+IntToStr(Y); end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin showmessage('linken button gedrückt'); //if Button = mbLeft then //if Button = mbRight then end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin showmessage('linken button losgelassen'); end; ah das setzten, ich vergass:
Delphi-Quellcode:
SetCursorPos(LEFT, TOP);
links drücken mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); //drücken mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // loslassen //recht drücken mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);//drücken mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);// loslassen und wegen der tastatur... nimm das hier, das ist nicht so starker api-tobak wie das von den schweiterzn. ![]() |
Re: Mausklick u. Tastendruck an Anwendung senden
Hi, ich hab ewig Foren durchforstet und nicht nur auf dieser Seite. Ich habs auch hingekriegt Tastaturereignisse zu simulieren jedoch bei einer Sache find ich keine Lösung, nämlich wie ich "Taste gedrückt halten" simuliere. Danke für Eure Hilfe im Vorraus :wink:
|
Re: Mausklick u. Tastendruck an Anwendung senden
vielleicht mit einem Timer die Funktion immer wieder azfrufen.
Timer1.Interval auf 1 setzen. Florian |
Re: Mausklick u. Tastendruck an Anwendung senden
dann geht er auch immer wieder hoch. gedrückt halten ist, soweit ich weiss, das gleiche, wie immer wieder neu zu drücken, ohne loszulassen. dabei wird im grunde das gleiche wie beim runterdrücken gemacht, nur, dass das "automatic repeat"-flag noch gesetzt wird. aber keine garantie, ich sitze hier an nem rechner ohne delphi/w32apidoc
|
Re: Mausklick u. Tastendruck an Anwendung senden
Wenn man mein obiges Posting lesen würde, würde man auch wissen wie man eine Taste gedrückt hält.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 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-2025 by Thomas Breitkreuz