Hallo
Ich beschäftige mich momentan mit der Win32-Api. Nach etwas Üben mit einem Buch, hab ich mich entschlossen mal ein eigenes kleines Programm zu schreiben. Und zwar soll es einfach eine Taste bzw. einen Tastendruck an ein anderes Programm, genauer eine DirectX Anwendung(Spiel), senden. Dazu habe ich etwas im Internet herumgesucht und auch mein Buch zu Rate gezogen. Nach etwas Lesen wusste ich, dass ich das Zielfenster-Handle mit FindWindow() bekommen kann, und damit mittels SendMessage() eine Nachricht, bzw in meinem Fall einen Tastendruck, senden kann.
So nun zu meinem Problem:
Es funktioniert ganz einfach nicht. Das Handle des Zielfenster zu bekommen funktioniert, dass lasse ich noch im Programm überprüfen. Doch die Nachricht/Tastendruck scheint teilweise nicht wirklich anzukommen. Teilweise daher, da es z.b. funktioniert, wenn ich ein VK_Return schicke. Das wird angenommen und verarbeitet. Ich möchte aber z.B. ein ‚I‘ schicken. dabei passiert allerdings gar nichts. Ich habe die Funktion SendMessage schon in allen Variationen ausprobiert:
SendMessage(hZielFenster,WM\_KEYDOWN,(WPARAM)'I',0 )
SendMessage(hZielFenster,WM\_KEYDOWN,(WPARAM)VkKeyScan('i'),0 )
SendMessage(hZielFenster,WM\_KEYDOWN,VkKeyScan('i'),0 )
SendMessage(hZielFenster,WM\_KEYDOWN,'i',0 )
usw. …
Doch nichts funktioniert. Nun meine Frage:
Könnte vielleicht Jemand von euch mir helfen und sagen, was ich Falsch mache? Vor allem weiß ich nicht was der letzte Parameter von SendMessage() zu bedeuten hat bzw. was ich übergeben muss?
Ich wäre dankbar für jede Hilfe
Gruß Marius