Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Handle eines (fremden) Popupmenu-Items (https://www.delphipraxis.net/16010-handle-eines-fremden-popupmenu-items.html)

Flogo 8. Feb 2004 22:03


Handle eines (fremden) Popupmenu-Items
 
Ich hoffe ihr verzeiht mir, ich weiß dieses "wie komme ich an xy einer fremden Anwendung" war hier schon tausendmal dran aber ich schaffs trotzdem nicht an das Popupmenü und an seine Items zu kommen :oops: . Nach welchem Klassennamem soll ich suchen? Muss es dafür geöffnet sein?

Flogo 11. Feb 2004 16:42

Re: Handle eines (fremden) Popupmenu-Items
 
Vielleicht sollte ich das noch dazusagen:
Es geht um das PopupMenu der Icons in der Tray. Öffnen kann ich sie mittlerweile aber ich komm immer noch nicht an das Handle. Sind diese Popups "Kinder" des Fensters oder des TrayIcons?
Bitte helft mir es ist zum :wall: :wall: :wall:

Assarbad 14. Feb 2004 20:06

Re: Handle eines (fremden) Popupmenu-Items
 
Tcha, wenn du den Source des Programms im Tray hast, oder wenn du eine DLL in den Prozess injezierst könnte das gehen. Nur leider haben solche Items kein Handle. Ein Menü hat ein Handle, ein Item maximal eine ID. Und da Popup-Fenster generell dem Explorer (bzw dem Desktop, Fenster 0) gehören, wird das wohl etwas kompliziert werden, ohne sich die Finger im anderen Programm richtig dreckig zu machen.

Flogo 14. Feb 2004 20:54

Re: Handle eines (fremden) Popupmenu-Items
 
Verdammt!
Kein Wunder das ich nichts gefunden hab. Ich hab nicht nur an der falschen Stelle gesucht sondern auch nach den falschen Sachen. :wall:

Ok neuer Ansatz:
Wenn die Menüs zum Desktop/Explorer gehören müsste man doch da an das Handle kommen (nach welchem Classname kann ich da suchen).
Gibts danach vielleicht eine Möglichkeit an die ID bzw den Namen der Items zu kommen?

Assarbad 14. Feb 2004 21:45

Re: Handle eines (fremden) Popupmenu-Items
 
Da ist es, einfach im PSDK nachschauen. Aber da das Menü nur dann existiert, wenn du nicht grade woanders hinklickst, wirst du ein paar Verrenkungen brauchen. ZB Hooks.

Class Description
ComboLBox The class for the list box contained in a combo box.
DDEMLEvent Windows NT/Windows 2000/Windows XP: The class for Dynamic Data Exchange Management Library (DDEML) events.
Message Windows 2000/Windows XP: The class for a message-only window.
#32768 The class for a menu.
#32769 The class for the desktop window.
#32770 The class for a dialog box.
#32771 The class for the task switch window.
#32772 Windows NT/Windows 2000/Windows XP: The class for icon titles.

BTW: Wenn du soweit bist, ist das Ermitteln der Menuitem-IDs nur noch ein Klacks.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.

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