Search Tools Links Login

AssociateFileType

Posted: 2002-06-01
By: ArchiveBot
Viewed: 76

Filed Under:

VB6 Code Cache

No attachments for this post


Associate a file type with a program in windows95.

Original Author: Found on the World Wide Web

API Declarations

Declare Function RegCreateKey& Lib "advapi32.DLL" Alias "RegCreateKeyA" (ByVal hKey&, ByVal lpszSubKey$, lphKey&)
Declare Function RegSetValue& Lib "advapi32.DLL" Alias "RegSetValueA" (ByVal hKey&, ByVal lpszSubKey$, ByVal fdwType&, ByVal lpszValue$, ByVal dwLength&)
' Return codes from Registration functions.
Public Const ERROR_SUCCESS = 0&
Public Const ERROR_BADDB = 1&
Public Const ERROR_BADKEY = 2&
Public Const ERROR_CANTOPEN = 3&
Public Const ERROR_CANTREAD = 4&
Public Const ERROR_CANTWRITE = 5&
Public Const ERROR_OUTOFMEMORY = 6&
Public Const ERROR_INVALID_PARAMETER = 7&
Public Const ERROR_ACCESS_DENIED = 8&
Global Const HKEY_CLASSES_ROOT = &H80000000
Public Const MAX_PATH = 256&
Public Const REG_SZ = 1

Code

'make a new project: one form with a commandcontrol
'insert the code on the right places
'make the nessecary changes concerning your application and extension
'look for the * sign!
' Return codes from Registration functions.
Public Const ERROR_SUCCESS = 0&
Public Const ERROR_BADDB = 1&
Public Const ERROR_BADKEY = 2&
Public Const ERROR_CANTOPEN = 3&
Public Const ERROR_CANTREAD = 4&
Public Const ERROR_CANTWRITE = 5&
Public Const ERROR_OUTOFMEMORY = 6&
Public Const ERROR_INVALID_PARAMETER = 7&
Public Const ERROR_ACCESS_DENIED = 8&
Global Const HKEY_CLASSES_ROOT = &H80000000
Public Const MAX_PATH = 256&
Public Const REG_SZ = 1

Private Sub Command1_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 = "notepad.exe %1" '*
  ret& = RegCreateKey&(HKEY_CLASSES_ROOT, sKeyName, lphKey&)
  ret& = RegSetValue&(lphKey&, "shellopencommand", REG_SZ, sKeyValue, MAX_PATH)
End Sub


Comments on this post

No comments have been added for this post.

You must be logged in to make a comment.