Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Tastananschlag an fremde Anwendung schicken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.08.2004, 13:38 Uhr
~karl
Gast


Hi,

ich würde gerne einen Tastenanschlag an eine fremde Anwendung schicken, die sich im Hintergrund befindet. Mit keybd_event(key,MapVirtualKey(key,0),0,0); klappt es wunderbar, wenn sich das Fenster im Vordergrund befindet. (Ich muss aber MapVirtualKey verwenden, sonst kommt es nicht an.)

Wenn ich nun mit PostMessage die Nachricht verschicken will, wird leider kein Tastenanschlag geschickt, bzw. der falsche wie ich es in Spy++ gesehen habe.

Hier der PostMessage-Code:

short key = VkKeyScan(VK_F11);
UINT scancode = MapVirtualKey(key,0);
PostMessage(hwnd,WM_KEYDOWN,key,scancode);
PostMessage(hwnd,WM_CHAR,key,scancode);
PostMessage(hwnd,WM_KEYUP,key,scancode);

ich hab mir jetzt mal genau mit Spy++ die Messages, die im Fenster ankommen angeschaut und mir ist aufgefallen, dass sich der Scancode unterscheidet.
Beim echten Klick ist er "02" und bei PostMessage "00".

Ich habe euch mal einen Screenshot angehängt auf dem man den Unterschied beider Klicks sehen kann. Ich habe die Scancode-Einträge rot unterstrichen.

Übrigens liefert der keybd_event-code den ich oben genannt habe entsteht genau die gleiche Nachricht bei Spy++ wie als ob man "per Hand" drückt.

Hier der Screenshot mit dem Vergleich: www.fairtraffic.de/spy.gif

Nun meine Frage. Wie kann ich gezielt den Scancode auf "02" ändern oder meine PostMessage Variante so ändern, dass sie wie die keybd_event Variante funktioniert?

(Mein Ziel ist ja einen Tastenanschlag an ein Programm zu schicken, welches sich im Hintergrund befindet)

Ich freue mich auf eure Hilfe
karl
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: