Ich erstelle ein Kontextmenü, indem ich IContextMenu::QueryContextMenu aufrufe.
Bis auf zwei Dinge ist alles in Ordnung und beide Probleme treten auf, wenn das Kontextmenü für den Admin-Ordner angezeigt wird in meinem Fall ist es der aktuelle Benutzer.
Angenommen, der Administrator-Benutzername ist „Admin“, dann tritt das Problem auf, wenn versucht wird, das Kontextmenü für den Ordner C:\Benutzer\Admin anzuzeigen die folgende Probleme:
Fehlendes Menü „Eigenschaften“ (Warum? Wenn Sie das Kontextmenü über den Explorer überprüfen, ist der Eintrag „Eigenschaften“ für diesen Ordner , aber QueryContextMenu gibt es nicht zurück)
Menüelement „Vorherige Versionen wiederherstellen“ konnte nicht ausgeführt werden (Wenn Sie versuchen, auf dieses Element zu klicken, Es tritt ein Fehler auf. In der MessageBox wird „Unspezifizierter Fehler“ angezeigt. aber dieses Menü funktioniert, wenn es über „Explorer“ ausgewählt wird und GetLastError()
den Fehlercode 1223 zurückgibt („Der Vorgang wurde vom Benutzer abgebrochen“: aber ich breche nichts ab)
< /li>
Das Menü „Teilen“ funktioniert nicht
Sie können sehen mein Code unten. Um diesen Code auszuführen und das Menü anzuzeigen, müssen Sie Folgendes tun:
Ersetzen Sie den filePath-Wert durch den Pfad zum Ordner
Drücken Sie die Schaltfläche „Kontextmenü“, um das Kontextmenü anzuzeigen
Ich erstelle ein Kontextmenü, indem ich IContextMenu::QueryContextMenu aufrufe. Bis auf zwei Dinge ist alles in Ordnung und beide Probleme treten auf, wenn das Kontextmenü für den Admin-Ordner angezeigt wird in meinem Fall ist es der aktuelle Benutzer. Angenommen, der Administrator-Benutzername ist „Admin“, dann tritt das Problem auf, wenn versucht wird, das Kontextmenü für den Ordner C:\Benutzer\Admin anzuzeigen die folgende Probleme: [list] [*]Fehlendes Menü „Eigenschaften“ (Warum? Wenn Sie das Kontextmenü über den Explorer überprüfen, ist der Eintrag „Eigenschaften“ für diesen Ordner , aber QueryContextMenu gibt es nicht zurück)
[*]Menüelement „Vorherige Versionen wiederherstellen“ konnte nicht ausgeführt werden (Wenn Sie versuchen, auf dieses Element zu klicken, Es tritt ein Fehler auf. In der MessageBox wird „Unspezifizierter Fehler“ angezeigt. aber dieses Menü funktioniert, wenn es über „Explorer“ ausgewählt wird und GetLastError() den Fehlercode 1223 zurückgibt („Der Vorgang wurde vom Benutzer abgebrochen“: aber ich breche nichts ab) < /li> Das Menü „Teilen“ funktioniert nicht
[/list] Sie können sehen mein Code unten. Um diesen Code auszuführen und das Menü anzuzeigen, müssen Sie Folgendes tun: [list] [*]Ersetzen Sie den filePath-Wert durch den Pfad zum Ordner [*]Drücken Sie die Schaltfläche „Kontextmenü“, um das Kontextmenü anzuzeigen [/list]
if (!SUCCEEDED(pContextMenu->InvokeCommand(&cmi))) {
std::stringstream ss; ss QueryInterface(IID_IContextMenu2, ppContextMenu))) { m_contextMenu2 = (LPCONTEXTMENU2)*ppContextMenu; }
if (*ppContextMenu) icm1->Release(); // we can now release version 1 interface, // cause we got a higher one else { *ppContextMenu = icm1; // since no higher versions were found } // redirect ppContextMenu to version 1 interface } else return (FALSE); // something went wrong
Ich erstelle ein Kontextmenü, indem ich IContextMenu::QueryContextMenu aufrufe.
Bis auf zwei Dinge ist alles in Ordnung und beide Probleme treten auf, wenn das Kontextmenü für den Admin-Ordner...
Ich erstelle ein Kontextmenü, indem ich IContextMenu::QueryContextMenu aufrufe.
Bis auf zwei Dinge ist alles in Ordnung und beide Probleme treten auf, wenn das Kontextmenü für den Admin-Ordner...
Ich muss das Element „Senden an“ aus dem von IContextMenu::QueryContextMenu zurückgegebenen Menü entfernen. Das Problem ist, dass das Menü „Senden an“ kein Verb hat und ich es mit nichts vergleichen...
Ich versuche, mit IContextMenu::QueryContextMenu das Menü abzurufen, das angezeigt wird, wenn ich mit der rechten Maustaste auf einen leeren Bereich in einem Ordner klicke (Hintergrundmenü). Ich kann...
Ich versuche, mit IContextMenu::QueryContextMenu das Menü abzurufen, das angezeigt wird, wenn ich mit der rechten Maustaste auf einen leeren Bereich in einem Ordner klicke (Hintergrundmenü). Ich kann...