Windows Explorer Context Menü Eintag wird nicht angezeigt[RECHTSKLICK AUF DATEI]

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Windows Explorer Context Menü Eintag wird nicht angezeigt[RECHTSKLICK AUF DATEI]

    Hallo Ich habe folgendes Problem ich möchte ind as KontextMenü von dem WindowsExplorer einen neuen Eintrag einfügen das geht ja wie bekannt über die Registry ich möchte in meinem Fall einen neuen Eintrag wenn ich auf Dateien mit der Endung ".png" Ich habe folgende Funktion :

    1. VB.NET-Quellcode

      1. Public Function AddToExplorerContextMenu(ByVal extension As String, _
      2. ByVal text As String, ByVal command As String) As Boolean
      3. ' Beispiel der Kommentare:
      4. ' extension=.js
      5. ' text=In JSEdit öffnen
      6. ' command= C:\jsedit.exe "%1"
      7. Try
      8. ' Öffnen: HKEY_CLASSES_ROOT\.js
      9. Dim Extensionkey As RegistryKey = Registry.ClassesRoot.CreateSubKey(extension)
      10. ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell
      11. Dim Shellkey As RegistryKey = Extensionkey.CreateSubKey("Shell")
      12. ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell\In JSEdit bearbeiten
      13. Dim Entrykey As RegistryKey = Shellkey.CreateSubKey(text)
      14. ' Öffnen: HKEY_CLASSES_ROOT\.js\Shell\In JSEdit bearbeiten\command
      15. Dim Commandkey As RegistryKey = Entrykey.CreateSubKey("command")
      16. Commandkey.SetValue("", command)
      17. Commandkey.Close()
      18. Entrykey.Close()
      19. Shellkey.Close()
      20. Extensionkey.Close()
      21. Return True
      22. Catch ex As Exception
      23. Return False
      24. End Try
      25. End Function


    Und rufe die Funktion wie folgt auf :

    VB.NET-Quellcode

    1. AddToExplorerContextMenu(".png","Upload to EpvpImg", "C:\test.exe"



    Aber es erscheint kein neuer Eintrag in dem Kontextmenü, aber in der Registry sind einträge vorhanden weiß einer woran es liegen könnte ?

    LG Graphic
    Kommt beim Aufruf Deiner Funktion True zurück?
    Sieht der Registry-Eintrag genau so aus wie die vorhandenen anderen (z.B. "*.png" oder *png")?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Registriere mal eine (fiktive) Extension über den Explorer und vergleich das Resultat (den Registry-Inhalt) mit dem von Dir geschriebenen.
    Ich denke, dass da an mehreren Stellen was geschrieben werden muss.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!