devxlogo

CreateFileAssociation – Creating a new file association

CreateFileAssociation – Creating a new file association

 Shared Sub _    SHChangeNotify(ByVal wEventId As Integer, ByVal uFlags As Integer, _    ByVal dwItem1 As Integer, ByVal dwItem2 As Integer)End Sub' Create the new file association'' Extension is the extension to be registered (eg ".cad"' ClassName is the name of the associated class (eg "CADDoc")' Description is the textual description (eg "CAD Document"' ExeProgram is the app that manages that extension (eg "c:CadMyCad.exe")Function CreateFileAssociation(ByVal extension As String, _    ByVal className As String, ByVal description As String, _    ByVal exeProgram As String) As Boolean    Const SHCNE_ASSOCCHANGED = &H8000000    Const SHCNF_IDLIST = 0    ' ensure that there is a leading dot    If extension.Substring(0, 1) <> "." Then        extension = "." & extension    End If    Dim key1, key2, key3 As Microsoft.Win32.RegistryKey    Try        ' create a value for this key that contains the classname        key1 = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(extension)        key1.SetValue("", className)        ' create a new key for the Class name        key2 = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(className)        key2.SetValue("", description)        ' associate the program to open the files with this extension        key3 = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(className & _            "ShellOpenCommand")        key3.SetValue("", exeProgram & " ""%1""")    Catch e As Exception        Return False    Finally        If Not key1 Is Nothing Then key1.Close()        If Not key2 Is Nothing Then key2.Close()        If Not key3 Is Nothing Then key3.Close()    End Try    ' notify Windows that file associations have changed    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)    Return TrueEnd Function

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist