Hallo,
wie kann ich das Menühandle einer fremden Anwendung ermitteln? Das
Handle der Anwendung habe ich, weiterhin komme ich auch - so weit ich das jetzt überblicken kann - auch an jedes Control, wie Buttons, Edits, .... Nur an das Menü komm ich nicht ran. Einen Hotkey für den gewünschten Menüpunkt ist leider auch nicht vorhanden.
Ich muss aber über das Menü einen Menüpunkt öffnen. Habe auch schon probiert über die Simulation der Tastatureingaben den Menüpunkt auszuwählen, was aber zu keiner Reaktion im Programm führte.
Quelltext zur Simulation der Tastatureingabe(dWindowHandle ist das
Handle des Hauptfensters der Anwendung):
Delphi-Quellcode:
PostMessage(dWindowHandle, WM_SETFOCUS, 0, 0);
PostMessage(dWindowHandle, WM_KEYDOWN, VK_LMENU, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYUP, VK_LMENU, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYDOWN, VK_DOWN, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYUP, VK_DOWN, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYDOWN, VK_DOWN, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYUP, VK_DOWN, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYDOWN, VK_RETURN, 0);
Sleep(100);
PostMessage(dWindowHandle, WM_KEYUP, VK_RETURN, 0);
Gibt es vielleicht sogar einen direkteren Weg ein Menüelement ferngesteuert auszuwählen?
Vielen Dank