Entwickler-Ecke
Sonstiges (Delphi) - Tastendruck simulieren!!!
siondarth - Mi 27.06.07 15:41
Titel: Tastendruck simulieren!!!
Hallo,
die Überschrift sagt wahrscheinlich nicht viel aus, liegt aber daran, dass ich nicht genug Zeichen eingeben konnte um zu sagen, was ich für ein Problem habe. Aber jetzt zum wesentlichem.
Ich habe ein Programm "A" am lafen und will jetzt ein Programm "B" schreiben, dass das Programm "A" denken lässt, ich hätte eine Taste auf der Tastatur betätigt. Dieses Problem ist mir schon öfters in ähnlichen Variationen begegnet und muss jetzt endlich gelöst werden, (falls es überhaupt geht).
Mein jetziges Problem, was euch auch als Beispiel dienen soll um mein Problem zu lösen:
Ich habe ein Spiel, bei dem ich alle 17 Secunden die Taste "2" und alle 30 Secunden die Taste "P" auf der Tastatur betätigen muss (fragt bitte net warum). Da dies mich allerdings nervt, dachte ich daran ein Programm zu schreiben, das dies für mich erledigt.
Ich bitte euch um Hilfe bei der Lösung meines Problems, wie gesagt, falls so etwas überhaupt realisierbar ist. Egal ob ihr mich mit Delphi-Code versorg oder irgendwelche anderen Anregungen geben könnt.
PS: (Was ich noch vergessen hab zu sagen). Das Programm soll nach einer Stunde aufhören die Tasten zu betätigen.
24karatboy - Mi 27.06.07 16:06
ich würde sagen du machst nen hook oder nen hotkey auf die tasten die du benötigst und lässt diesen z.b hotkey dann in dem anderen programm betätigen. so würde ich mir das jetzt denken praktisch kann ich dir aber leider keinen lösungsvorschlag geben da ich mit hooks und hotkeys noch nichts gemacht habe.
mfg
Chryzler - Mi 27.06.07 17:09
24karatboy hat folgendes geschrieben: |
ich würde sagen du machst nen hook oder nen hotkey auf die tasten die du benötigst und lässt diesen z.b hotkey dann in dem anderen programm betätigen. so würde ich mir das jetzt denken praktisch kann ich dir aber leider keinen lösungsvorschlag geben da ich mit hooks und hotkeys noch nichts gemacht habe.
mfg |
Mit nem Hook oder nem Hotkey kannst du keine Tastendrücke simulieren, du wirst nur benachrichtigt, falls eine bestimmte Taste gedrückt wurde.
Das was du brauchst ist,
das [
http://www.delphi-forum.de/viewtopic.php?t=68761].
siondarth - Do 28.06.07 10:54
vielen dank leute, ihr wart mir ne große Hilfe. wird ein weilchen dauern bis ich das programm geschrieben hab aber wenn ichs fertig kriege, dann stell ichs auf meine seite.
siondarth - Do 28.06.07 12:27
so habe jetzt ein Testprogramm geschrieben und es funktioniert auch soweit. Klicke ich z.B. in das Editfeld von google, so wird wie gewünscht alle fünf sec. ein tastendruck simuliert aber ich habe das problem, das es bei dem Spiel, wofür ich es ja machen wollte nicht funktioniert.
Hier der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls;
type TForm1 = class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Timer1Timer(Sender: TObject); begin keybd_event(MapVirtualKey($02, 1), $1E,0,0); keybd_event(MapVirtualKey($02, 1), $1E, KEYEVENTF_KEYUP, 0); end;
end. |
Hier könnt ihr euch das programm auch runterladen falls ihr es selbst ausprobieren wollt:
http://dubyi.du.funpic.de/
Moderiert von
Gausi: Delphi-Tags hinzugefügt
Chryzler - Do 28.06.07 14:29
Probiers doch mal aus.
siondarth - Do 28.06.07 21:32
ok danke ich werde schauen was ich tun kann (glaub habs jetzt erst richtig verstanden). wird wie immer ein weilchen dauern aber ich werde euch über meine Erfolge oder misserfolge informieren
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!