![]() |
Tastendruck simulieren
Hallo,
weiß jemand, wie man mit Delphi 6 eine Taste simuliert, aber diese soll von einem inaktiven(!!!), nicht zu meinem Projekt gehörenden, Prog erkannt werden. Z.B.: Ich drücke Z und an Notepad wird ein B geschickt. Ich habe einen Quellcode von ![]()
Delphi-Quellcode:
Allerdings meint Delphi, dass (bei den beiden "PostMessage-Zeilen") Handle.Kind falsch ist.
//Zuerst ermittelt man das Fensterhandle mit folgender Anweisung:
FindWindow((Fensterklasse,wenn bekannt),Fenstertitel). //Anschließend holt man das Fenster mit SetForegroundWindow(Fensterhandle)nach vorn. //Dies ist jedoch nicht notwendig. { Nun kann man mit keybd_event eine Tastenkombination an das Fenster schicken. Wenn man mit FindWindowEx(ParentHandle, nil,nil,nil) rekursiv die entfernte Anwendung nach dem gewünschten Button durchsuchen lässt, kann man hinterher folgende Messages senden: } PostMessage(Handle.Kind,WM_LBUTTONDOWN,MK_LBUTTON,0); PostMessage(Handle.Kind,WM_LBUTTONUP,0,0); //Und schon wird der Button gedrückt. :wiejetzt: Tschüss der auf Antwort wartende Jasper |
Re: Tastendruck simulieren
Da muss das Handle des Kontrolls hin an das du die Nachricht schicken willst.
|
Re: Tastendruck simulieren
Einfach "eine Taste drücken" simulieren kann man mit den SRUtils ganz gut, allerdings dann nicht an eine andere Anwendung, sondern an das aktive Fenster.
|
Re: Tastendruck simulieren
Also entweder so:
![]() Oder Du machst es mit sendkeys, wie hier beschrieben: ![]() gruß Evian |
Re: Tastendruck simulieren
Zitat:
PS: Bei FindWindow muss ja der Fenstertitel angegeben werden, ist das beim Editor zum Beispiel "Neu Textdokument.txt - Editor"? |
Re: Tastendruck simulieren
Ich habe das jetzt ausprobiert, er findet das Fenster auch, aber wie kann ich einen Klick auf einer bestimmten Stelle anwenden und wie kann ich Buchstaben zum Beispiel in Notepad schreiben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 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