Ich habe das Programm jetzt nochmal so getestet.
Mein Ergebnis:
-in Notepad funktioniert alles einwandfrei
-z.B. Im IE kann ich in der Adressleiste nichts eingeben.
Jeder neue Buchstabe den ich schreibe, überschreibt den alten.
So sieht mein Code aus:
Delphi-Quellcode:
procedure TForm3.standartkeyclick(Sender: TObject);
var
BtnCaption: TCaption;
begin
//letztes Fenster in den Vordergrund holen
windows.SetForegroundWindow(hForeground);
//Caption von Button auslesen
BtnCaption:=TButton(Sender).Caption;
//Caption Buchstabe als Tastendruck senden
keybd_event(ord(BtnCaption[1]), 0, 0, 0);
keybd_event(ord(BtnCaption[1]), 0, KEYEVENTF_KEYUP, 0);
end;