Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Menüpunkt in Kontextmenü ausführen (https://www.delphipraxis.net/129971-menuepunkt-kontextmenue-ausfuehren.html)

Delphi-Coder 28. Feb 2009 22:37


Menüpunkt in Kontextmenü ausführen
 
Guten Abend,

ich habe auf dem Desktop ein Kontextmenü mit einer Gruppe und in dieser Gruppe 3 Menü-Items. Das Menü ist übrigens nicht von mir. Gibt es eine Möglichkeit mit Delphi das Kommando hinter dem Menü-Item heraus zu finden, oder mit Delphi dieses Menü-Item auszuführen?

Vielen Dank und schönen Abend!
Delphi-Coder

toms 1. Mär 2009 08:32

Re: Menüpunkt in Kontextmenü ausführen
 
Hallo

Durch anwählen des Menü-items wird doch eine Aktion ausgeführt.
Wir nicht eine Exe mit Parametern gestartet? Diese kannst du ja auch manuell starten.

Delphi-Coder 1. Mär 2009 14:55

Re: Menüpunkt in Kontextmenü ausführen
 
Das hatte ich mir auch schon gedacht. Nur wurde die Gruppe mit dem betreffenden Menü-Item von einem Drittanbieter zum Kontextmenü hinzugefügt und ich kann den Aufurf dieser exe oder dll oder was auch immer leider nirgends finden. Hab die Registry schon stundenlang durchsucht. Deshalb wollte ich es über den anderen Weg machen...

Soweit ich weiß, kann man mit Delphi ja auch andere Programme "fernsteuern". Wieso also nicht auch so ein Menü ansteuern?!

craash 1. Mär 2009 15:01

Re: Menüpunkt in Kontextmenü ausführen
 
dann hol doch den desktop in den vordergrund wähl die menüpunkte via
Delphi-Quellcode:
keybd_event()
an.

Delphi-Coder 1. Mär 2009 15:19

Re: Menüpunkt in Kontextmenü ausführen
 
Danke für den Tipp! Das werde ich mal ausprobieren!

Viele Grüße,
Delphi-Coder

Delphi-Coder 1. Mär 2009 18:25

Re: Menüpunkt in Kontextmenü ausführen
 
Ich habe damit jetzt ein wenig rumgespielt. Er führt die Aktion "Desktop anzeigen" mit der Tastenkombi "Windows" + "D" auch aus. Aber er öffnet danach das Kontextmenü nicht. Kann es sein, dass es nicht geht, weil nach dem Desktop anzeigen das Programm den Fokus nicht mehr hat? Oder hat das andere Ursachen?

Delphi-Quellcode:
// Desktop in Vordergrund
   keybd_event(91, 0, 0, 0);
   keybd_event(68, 0, 0, 0);
   keybd_event(68, 0, KEYEVENTF_KEYUP, 0);
   keybd_event(91, 0, KEYEVENTF_KEYUP, 0);

   // Kontext-Menü anzeigen
   keybd_event(VK_SHIFT, 0, 0, 0);
   keybd_event(VK_F10, 0, 0, 0);
   keybd_event(VK_F10, 0, KEYEVENTF_KEYUP, 0);
   keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf