Einzelnen Beitrag anzeigen

Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#1

Menühandle einer fremden Anwendung ermitteln?

  Alt 23. Aug 2006, 14:14
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
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat