Entwickler-Ecke
Windows API - Explorer ContextMenu in eigenes PopUp implementieren
Rylon - So 20.08.06 04:45
Titel: Explorer ContextMenu in eigenes PopUp implementieren
Hallo DF,
Ich habe nach Suchen in DP und DF eine Funktion gefunden, die mir ein Contextmenu eines bestimmten Files öffnen -> Ich würde nun gerne kein eigenständiges Menü öffnen, sondern die Einträge des Contextmenues in meins übernehmen...
im prinziep ein normales popup (is tbx geskinnt - also nicht normal - tut aber nix zur Sache)
Jemand eine Idee?
Grüße Rylon t.H.D.
PS: Danke im Vorraus
0xCC - So 20.08.06 05:10
tip: guck mal in der registry
Rylon - So 20.08.06 05:43
Titel: ???
???
-> Noch ein Tip bitte: WO????
Grüße Rylon t.H.D.
Flocke - So 20.08.06 18:30
Wenn du exakt dasselbe Kontextmenü wie der Explorer haben möchtest, dann solltest du dir die folgenden Interfaces / Funktionen ansehen:
- IShellFolder
- IShellFolder.GetUIObjectOf
- IContextMenu / IContextMenu2
- IContextMenu.QueryContextMenu
- IContextMenu2.HandleMenuMsg
Ein Beispiel findest du in den Delphi-Demos unter <Delphi-Verzeichnis>\Demos\DelphiWin32\ShellControls\ShellCtrls.pas in der Funktion InvokeContextMenu.
Rylon - So 20.08.06 22:10
Titel: Ja
Ja, das kenne ich -> leider kann ich mit dem invoke nur eine Kontextmenü aufpoppen lassen, nicht die items (mit funktionen) übernehmen. ->
d.h. ich will ein menü (popup) an den das KontextMenü angehängt wird. - Dazu würde ich gerne die Items und die verknüpften Ereignisse auslesen.
Grüße Rylon t.H.D.
Flocke - Mo 21.08.06 00:09
Also mit IContextMenu.QueryContextMenu bekommst du ein ganz normales Windows-Menühandle. Dessen Einträge müsstest du mit den normalen API-Funktionen (GetMenuItemCount, GetMenuItemInfo) auslesen können. Ansonsten kannst du dieses Menü ja als Untermenü an deines anhängen.
0xCC - Mo 21.08.06 00:11
Titel: Re: ???
Rylon hat folgendes geschrieben: |
-> Noch ein Tip bitte: WO???? |
unter HKEY_CLASSES_ROOT
* steht für alle einträge, dann natürlich noch die jeweiligen settings per dateiendung.
ne kleine google recherche dürfte sicher einiges zu tage fördern
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!