Entwickler-Ecke

Windows API - ALT-Taste gedrückt halten


The-FoX - Mo 28.07.03 23:26
Titel: ALT-Taste gedrückt halten
Moin. Wie kann ich einfach ein Program schreiben das ständig die ALT taste drückt? ICh hab über die Suchfunktion den Thread Tastendruch simulieren gelesen, aber da war nur irgenden Zeug von Senden gestanden und hooks usw. :confused:


Anonymous - Di 29.07.03 02:41

Tesa-Film, Scotch unsichtbar oder Paketband kaemen in Frage. Ansonsten auf Luckie und tommie-lie hoeren :)


Delete - Di 29.07.03 02:43

Timer und ein WM_KEYDOWN senden.


Anonymous - Di 29.07.03 02:47

Auch ein Top-Member irrt manchmal ;) ... ergo hoer nicht auf ihn.

Nimm keybd_event() ... und einen Hook um sofort reagieren zu koennen wenn wirklich jemand ALT drueckt und loslaesst.. Mit keybd_event kannste eine Taste "druecken" ... und auch "loslassen". Verschiedene Flags sind das ;)


tommie-lie - Di 29.07.03 02:48

Jungs, ich bin zutiefst enttäuscht von euch beiden!

Suche in: Delphi-Forum, Delphi-Library KEYBD_EVENT
Suche in der Delphi-PRAXiS KEYBD_EVENT

Und zu guter Letzt auch im PSDK/MSDN nachschlagen.

Edit: @Assarbad: Da hast du dich tatsächlich in letzter Minute noch geretten :)


Anonymous - Di 29.07.03 02:50

Wir von dir auch ... 1 minute zu langsam. Ist wie bei Hase und Igel ;)


The-FoX - Di 29.07.03 18:39


Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
Keybd_Event(kA); //kA was die alttaste sein muss.

end;


So müsste es wohl gehen. Aber wie heißt die alt-Taste?


derDoc - Di 29.07.03 18:57

Wie wäre VK_ALT?


The-FoX - Mo 04.08.03 02:51

nein dann kommt undefinierter bezeichner


Delete - Mo 04.08.03 02:54

Die virtuellen Tastencodes stehen in der Delphihilfe.


The-FoX - Mo 04.08.03 03:03

Jo ich habs gefunden. Der Name für alt is vk_menu. Allerdings funktioniert es in dem Program nicht mehr. Es soll während dem ganzem Spiel die alt-taste gedrückt werden (weil durch druck auf die alt-taste die lebenspunkte der einheiten angezeigt werden). Wenn ich es im Spiel teste wird die Alt-Taste aber nicht mehr gedrückt, und ich kann sie auch nicht mehr drücken. Erst wenn ich das programm ausmache kann ich wieder über die taste diese funtkion abrufen.