Im Gegensatz zu anderen, die Elemente zum Windows Explorer hinzufügen möchten, möchte ich ein Kontextmenü in meiner Anwendung anzeigen. Jetzt denkst du vielleicht, die Klasse, nach der du suchst, ist ContextMenu
. Lassen Sie mich Ihnen zeigen, woran ich interessiert bin. Bitte entschuldigen Sie die kleinen Bilder ...
Hier ist, was ich derzeit habe:
So möchte ich es haben:
Lassen Sie uns die Annahmen aus dem Weg räumen. Ich habe bereits festgestellt, dass der Benutzer TortoiseSVN installiert hat und das Element, das sie auswählen, unter Quellcodeverwaltung steht.
Meine bisherigen Forschungen:
Abrufen von Kontextmenüs - Dies ist sehr nützlich. Dies ist eine c # -Bibliothek für den Windows Explorer (der das Kontextmenü für einen bestimmten Ordner / Datei abrufen kann). Auch wenn das Beispiel getestet wird, ruft es die TortoiseSVN-Optionen nicht ab.
Noch ein Kontextmenü aufrufen - Fast identisch mit dem vorherigen Link (C # -Code noch einmal). Ruft das Windows Explorer-Kontextmenü abzüglich der TortoiseSVN-Optionen ab.
Prozess zum Hinzufügen Kontextmenü - Ich habe gerade angefangen, diese ausführlichen Beiträge zu lesen. Die Antwort mag in diesem Text enthalten sein, aber es wird einige Zeit brauchen, um durchzukommen. Wenn ich Glück habe, werde ich eine Antwort posten.
Der Benutzer scheint dies zu erreichen - Dies scheint eine E-Mail zu sein Gruppe, die sich mit SVN-Entwicklung beschäftigt. Warum posten Sie es hier? Vielleicht um zu beweisen, dass dies möglich ist. Um zu zitieren: "Ich spiele mit dem TSVN-Shell-Kontextmenü. Ich verwende die IContextMenu.QueryContextMenu
(C ++ - Code) -Methode, um auf das TSVN-Shell-Kontextmenü zuzugreifen, und dann stöbere ich durch das zurückgegebene Menü."
Alles in allem scheint das eine ziemlich geradlinige Sache zu sein und ich verpasse nur einen Schritt. Alle Vorschläge sind willkommen. Danke!
Bearbeitungen: Der Versuch, Tags besser zu nutzen und einen fokussierteren Titel zu verwenden
Anstatt zu versuchen, aus dem Windows Explorer zu ziehen, habe ich das ContextMenu letztendlich selbst implementiert. Hinzufügen der direkten Anrufe zu TortoiseSVN (wie bereits erwähnt). Nicht die super elegante Lösung, die ich wollte, aber es hat natürlich funktioniert!
Ich werde bemerken, dass Benutzer oefe darauf hingewiesen hat, dass das Hauptproblem auf x86 vs x64 zurückzuführen sein könnte (TortoiseSVN wurde als x64 auf meinem Entwicklungscomputer installiert). Andere Benutzer möchten dies möglicherweise untersuchen, wenn sie versuchen, eine ähnliche Aufgabe zu erfüllen.
Ich hoffe, dass Sie mit folgenden Schritten beginnen können
Zeigt das Fenster (Datei / Verzeichnis) im Kontextmenü von c # winforms Anwendung
Der obige Link enthält die folgende Antwort , die etwas zeigt, das dem ähnelt, was Sie möchten
Wie zeigen Sie das Windows Explorer-Kontextmenü von einem C # an? Anwendung?
Tags und Links c# c++ tortoisesvn windows-shell contextmenu