none
Como poner nuestro programa en el menú contextual de windows cuando le damos clic derecho sobre un archivo

    Pregunta

  • Buenas tarde me gustaria saber como puedo ejecutar mi aplicacion .exe cuando haga clic derecho en un archivo especificado por ejemplo que solo aparezca en el menú contextual de formatos que yo especifique en el programa como jpg, pdf, rar, zip etc   y al dar click derecho salga mi programa para ejecutarlo.. de antemano muchas gracias..

    Como la siguiente imagen..

    martes, 24 de enero de 2017 16:33

Respuestas

  • Puedes añadir una entrada al menú contextual con este código:

    Private Const MenuName As String = "*\\shell\\NewMenuOption"
    Private Const Command As String = "*\\shell\\NewMenuOption\\command"
    
    Private Sub MenuAdd (Texto As String, Ruta As String)
        Dim regmenu As RegistryKey
        Dim regcmd As RegistryKey
        Try
    
            regmenu = Registry.ClassesRoot.CreateSubKey(MenuName)
    
            If Not IsNothing(regmenu) Then
                regmenu.SetValue("", Texto)
            End If
    
            regcmd = Registry.ClassesRoot.CreateSubKey(Command)
    
            If Not IsNothing(regcmd) Then
                regcmd.SetValue("", Ruta)
            End If
    
        Catch ex As Exception
    
            MessageBox.Show(Me, ex.ToString())
    
        Finally
    
            If Not IsNothing(regmenu) Then regmenu.Close()
            If Not IsNothing(regcmd) Then regcmd.Close()
        End Try
    End Sub

    Y para eliminar la entrada:

    Private Sub MenuRemove
        Try
    
            Dim reg As RegistryKey = Registry.ClassesRoot.OpenSubKey(Command)
            If Not IsNothing(reg) Then
                reg.Close()
                Registry.ClassesRoot.DeleteSubKey(Command)
            End If
            reg = Registry.ClassesRoot.OpenSubKey(MenuName)
            If Not IsNothing(reg) Then
                reg.Close()
                Registry.ClassesRoot.DeleteSubKey(MenuName)
            End If
    
        Catch ex As Exception
    
            MessageBox.Show(Me, ex.ToString())
        End Try
    End Sub


    Saludos, Javier J


    miércoles, 25 de enero de 2017 8:41