Dieser Tipp zeigt eine Möglichkeit, Einträge in das Kontextmenü des Windows Explorer einzufügen und zu entfernen. Er unterscheidet sich von den bereits vorhandenen Tipps Eintrag ins Kontextmenü des Explorers und Eintrag im Kontextmenü des Explorers entfernen nicht nur dadurch, dass dieser für VB.NET geschrieben ist, sondern vor allem auch darin, dass bei den nachfolgenden Funktionen angegeben werden kann, bei welchem Dateityp (oder Ordner) der Eintrag sichtbar sein soll. Erstellen Sie zuerst eine Klasse mit folgendem Code: Imports Microsoft.Win32 Public Class ExplorerContextMenu ''' <summary> ''' Fügt dem Kontextmenü des Windows Explorers einen Eintrag für einen Dateityp hinzu. ''' Bei Erfolg wird True zurückgegeben, sonst False. ''' </summary> ''' <param name="extension">Der Dateityp. Beispiel: .txt</param> ''' <param name="text">Der Text des Eintrags. Beispiel: In JSEdit öffnen</param> ''' <param name="command">Der aufzurufende Befehl. Beispiel: C:\jsedit.exe "%1"</param> Public Shared Function AddToExplorerContextMenu(ByVal extension As String, _ ByVal text As String, ByVal command As String) As Boolean ' Beispiel der Kommentare: ' extension=.js ' text=In JSEdit öffnen ' command= C:\jsedit.exe "%1" Try ' Öffnen: HKEY_CLASSES_ROOT\.js Dim Extensionkey As RegistryKey = Registry.ClassesRoot.CreateSubKey(extension) ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell Dim Shellkey As RegistryKey = Extensionkey.CreateSubKey("Shell") ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell\In JSEdit bearbeiten Dim Entrykey As RegistryKey = Shellkey.CreateSubKey(text) ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell\In JSEdit bearbeiten\command Dim Commandkey As RegistryKey = Entrykey.CreateSubKey("command") Commandkey.SetValue("", command) Commandkey.Close() Entrykey.Close() Shellkey.Close() Extensionkey.Close() Return True Catch ex As Exception Return False End Try End Function ''' <summary> ''' Entfernt einen Eintrag eines Dateityüs aus dem Kontextmenü des Windows Explorers. ''' </summary> ''' <param name="extension">Siehe AddToExplorerContextMenu()</param> ''' <param name="text">Siehe AddToExplorerContextMenu()</param> Public Shared Function RemoveFromExplorerContextMenu(ByVal extension As String, _ ByVal text As String) As Boolean Try ' Öffnen: HKEY_CLASSES_ROOT\.js Dim Extensionkey As RegistryKey = Registry.ClassesRoot.OpenSubKey(extension, True) ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell Dim Shellkey As RegistryKey = Extensionkey.OpenSubKey("Shell", True) ' Entfernen: HKEY_CLASSES_ROOT\.js\Shell\In JSEdit bearbeiten Shellkey.DeleteSubKeyTree(text) Shellkey.Close() Extensionkey.Close() Return True Catch ex As Exception Return False End Try End Function End Class Anwendung: Hinzufügen: ExplorerContextMenu.AddToExplorerContextMenu(".js", _ "In JSEdit bearbeiten", "C:\jsedit.exe ""%1""") Entfernen: ExplorerContextMenu.RemoveFromExplorerContextMenu(".js", _ "In JSEdit bearbeiten") In diesem Falle würde der Eintrag nur im Kontextmenü erscheinen, wenn der Rechtsklick auf eine Datei mit der Endung „.js“ erfolgt ist. Neben der Angabe einer Dateierweiterung sind aber noch zwei andere Möglichkeiten für den extensions-Parameter der AddToExplorerContextMenu-Funktion möglich. Diese sind:
Dieser Tipp wurde bereits 26.469 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |