Entwickler-Ecke

Windows API - Leertastendrücker


cornen - Sa 28.08.10 00:20
Titel: Leertastendrücker

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
repeat

  Edit1.SetFocus;
  keybd_event(VK_SPACE, 000);
  keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP,0);


until Button2.Enabled


Es wieder holt es nich. Es drück einmal die Leertaste un macht danach nichts mehr :/
Könnta ma do helfe?


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am So 29.08.2010 um 12:52


Hidden - Sa 28.08.10 00:35

Moin!

Du musst meines Wissens zwischen Taste hoch und Taste runter ein wenig Zeit vergehen lassen(per wait).
Soll deine Schleife so lange durchlaufen werden, bis Button2 gedrückt ist? Das funktioniert so nicht, enabled bestimmt, ob er vom User gedrückt werden kann. ;)

Ein Button ist so gedacht, dass er beim Drücken ein einziges Mal eine Prozedur 'Button2Click' ausführt, nicht so dass du ständig abfragen kannst, ob er gedrückt wurde.

Da wirst du in der Schleife ein Application.ProcessMessages; unterbringen müssen, damit die Grafische Oberfläche überhaupt reagiert. Und dann kannst du eventuell beim Button-Click eine Variable auf true setzen, die den Schleifenablauf dann unterbricht(while MyVar do statt repeat until Button2 gedrückt).

lg,