Entwickler-Ecke
Windows API - keybd_event funktioniert bei mir, bei Freund nicht
theevilworm - So 17.10.10 16:41
Titel: keybd_event funktioniert bei mir, bei Freund nicht
Hallo.
Folgendes Programm soll einfach alle paar Sekunden die Taste "3" drücken.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Button1Click(Sender: TObject); begin
zeit:=strtointdef(edit1.Text,5000); timer1.Enabled:=true; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin keybd_event( ($33), MapVirtualKey( ($33),0), 0, 0); Sleep(1000); keybd_event( ($33), MapVirtualKey( ($33),0), KEYEVENTF_KEYUP, 0); sleep(zeit);
end;
end. |
Bei mir funktioniert es super: Einfach aus den Button drücken, den Cursor in irgendein Textfeld bewegen und es tauchen lauter 3en da auf.
Das Programm habe ich einem Freund geschickt, dort passiert gar nichts. Es wird nichts gedrückt.
Habt ihr einen Tipp, woran das liegen könnte? Ich habe nicht mehr Infos, er schreibt mir nur, dass nichts passiert. Nachdem ich ihm 15 min erklärt, habe, wie der das Programm zu benutzen hat, denke ich nicht, dass er da groß was falsch macht.
jaenicke - So 17.10.10 16:55
Das kann viele Ursachen haben. Zum Beispiel funktioniert es vermutlich nicht, wenn der Zielprozess ein Prozess ist, der mit Adminrechten gestartet wurde.
Oder es handelt sich um ein Spiel, das mit DirectInput arbeitet. Oder oder...
Um was für ein Programm handelt es sich denn, an das die Tastendrücke geschickt werden sollen, und um welches Betriebssystem?
theevilworm - So 17.10.10 17:01
Das Programm ist unabhängig, es funktioniert anscheinend mit keinem. Ursprünglich sollte das Ziel ein Spiel sein, aber ich habe ihm gesagt, er soll es erstmal testen im Text-Fenster von ICQ, der Adresszeile des Browsers und im Editor.
Sein OS ist Vista 32bit. Er hat das Programm sowohl mit als auch ohne Adminrechten ausgeführt (bei mir funktioniert es auch ohne Adminrechte!).
jaenicke - So 17.10.10 17:04
Also bei mir funktioniert der Code problemlos. :nixweiss:
Kann es sein, dass das Problem im restlichen Teil deines Programms liegt?
theevilworm - So 17.10.10 17:12
Das IST mein Programm - mehr kommt nicht. Das ist wirklich der komplette Code. :)
Das Layout ist simpel: Timer1, Button1 (caption='Los') und edit1.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!