HOWTO: Associate a File Extension with Your ApplicationID: Q147805
|
If your application makes use of data files and processes command-line arguments, you may want to associate the extension of your application's data file with your executable program name by modifying the REG.DAT file.
You can make modifications to the REG.DAT file by calling the RegCreateKey&
and RegSetValue& application programming interface (API) functions.
Private Declare Function RegCreateKey& Lib "SHELL.DLL" (ByVal hKey&, _
ByVal lpszSubKey$, lphKey&)
Private Declare Function RegSetValue& Lib "SHELL.DLL" (ByVal hKey&, _ ByVal
lpszSubKey$, ByVal fdwType&, ByVal lpszValue$, ByVal dwLength&)
' Return codes from Registration functions.
Const ERROR_SUCCESS = 0&
Const ERROR_BADDB = 1&
Const ERROR_BADKEY = 2&
Const ERROR_CANTOPEN = 3&
Const ERROR_CANTREAD = 4&
Const ERROR_CANTWRITE = 5&
Const ERROR_OUTOFMEMORY = 6&
Const ERROR_INVALID_PARAMETER = 7&
Const ERROR_ACCESS_DENIED = 8&
Const HKEY_CLASSES_ROOT = 1
Const MAX_PATH = 256&
Const REG_SZ = 1
Private Sub Form_Click ()
Dim sKeyName As String 'Holds Key Name in registry.
Dim sKeyValue As String 'Holds Key Value in registry.
Dim ret& 'Holds error status if any from API calls.
Dim lphKey& 'Holds created key handle from RegCreateKey.
'This creates a Root entry called "MyApp".
sKeyName = "MyApp"
sKeyValue = "My Application"
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
'This creates a Root entry called .BAR associated with "MyApp".
sKeyName = ".bar"
sKeyValue = "MyApp"
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "", REG_SZ, sKeyValue, 0&)
'This sets the command line for "MyApp".
sKeyName = "MyApp"
sKeyValue = "c:\mydir\my.exe %1"
ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
ret& = RegSetValue&(lphKey&, "shell\open\command", REG_SZ, sKeyValue,
MAX_PATH)
End Sub
.bar = MyApp
MyApp = My Application
|
-- Shell
|
-- open
|
-- command = c:\mydir\my.exe %1
Additional query words: kbVBp400 kbVBp kbRegistry kbDSupport kbdsd
Keywords :
Version : 4.00
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: June 11, 1999