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 26.955 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. |
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 ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array 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. |