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 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 27.222 mal aufgerufen.
Anzeige
![]() ![]() ![]() (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. |
TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||||||
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. |