keystroke an ein non topmost fenster schicken
-
Hi,
ich hab folgendes Problem:
Ich muss eine Reihe von Tastendrücken simulieren - dabei muss ich sie aber an ein Fenster senden was weder den Sicht- noch den Tastaturfocus hat.
Daher kann ich nich die Funktion keybd_event() benutzen.Alle meine Versuche das Problem mit SendMessage() und WM_KEYDOWN / WM_KEYUP zu lösen sind fehlgeschlagen...

Ich hoffe jemand von euch kann mir helfen

greetz Slater und schonmal Danke
-
Vielleicht hast du die Nachrichten nicht an das richtige Child-Window geschickt. Du Eingabefokus willst du den Fenster aber nicht geben, oder?
-
Problem gelöst sry - hatte den scan Kram vergessen
void sendKeyMsg(int msg,HWND hWnd) { UINT vk = VkKeyScan(msg); UINT scan = MapVirtualKey(vk,0); LPARAM lparam1 = 0x00000001 | (LPARAM)(scan << 16); LPARAM lparam2 = 0xC0000001 | (LPARAM)(scan << 16); if(msg =='/') PostMessage(hWnd,WM_KEYDOWN,VK_SHIFT,0x00000001 | (LPARAM)(MapVirtualKey(VK_SHIFT,0) << 16)); PostMessage(hWnd,WM_KEYDOWN,vk,lparam1); PostMessage(hWnd,WM_KEYUP,vk,lparam2); if(msg == '/') PostMessage(hWnd,WM_KEYUP,VK_SHIFT,0xC0000001 | (LPARAM)(MapVirtualKey(VK_SHIFT,0) << 16)); }
-
nur wie krieg ich jetzt den / hin ...