Einzelnen Beitrag anzeigen

TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#1

GetAsyncKeyState und Keybd_Event richtig verwenden

  Alt 1. Apr 2007, 20:06
Hey,

[verdammter Browser, musste das zwei mal schreiben - grrrr...]

ich möchte immer wenn die CTRL-Taste gedrückt wird die Leertaste virtuell drücken.

Dazu verwende ich momentan folgenden Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if enabled then enabled := false
    else enabled := true;
while enabled do
begin
      if (GetAsyncKeyState(VK_CONTROL) and $8000) <> 0 then Keybd_Event(VK_SPACE,0,0,0);
      Application.ProcessMessages;
end
end;
Ist unschön und aufwändig, aber es soll schnell gehen und ich hab mich noch nie mit Hooks befasst.
Allerdings wird VK_SPACE nicht einmal, sondern ca. 100mal gesendet.

Warum?
  Mit Zitat antworten Zitat