VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Add your program to the Right-Mouse-Click menu

by Jamin (2 Submissions)
Category: Windows System Services
Compatability: Visual Basic 5.0
Difficulty: Beginner
Date Added: Wed 3rd February 2021
Rating: (3 Votes)

Let your program be listed in the right-mouse-click for a particular file type. You program can then be run with a simple click

Inputs
The filetype you want to add to. Your program's path & filename.
Assumes
This program only adds the regisrty key. It can be removed by running regedit then manually deleting the key. The location can be seen in the code.
Code Returns
Adds a registry key
Side Effects
Playing with the registry can be dangerous. I have run this on my computer and it works fine. I take no responsibility for any mishaps that occur.
API Declarations
Const REG_SZ = 1
Const HKEY_LOCAL_MACHINE = &H80000002
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Rate Add your program to the Right-Mouse-Click menu

Public Sub SetStringValue(Hkey As Long, strPath As String, strValue As String, strdata As String)
  Dim keyhand As Long
  Dim i As Long
  i = RegCreateKey(Hkey, strPath, keyhand)
  'Changed the normal keyvalue name to vbNullString to set it as the (Default) value
  i = RegSetValueEx(keyhand, vbNullString, 0, REG_SZ, ByVal strdata, Len(strdata))
  i = RegCloseKey(keyhand)
End Sub
Private Sub Form_Load()
'Create Reg Key for filetype, (can be found by looking in HKEY_CLASSES_ROOT then the extension, the (Default) value pionts to the file type, located in the HKEY_CLASSES_ROOT folder)
'Replace """C:\Project1.exe"" %1" with your program path & name. "%1" means send the file name you click on as the commandline arguments.
SetStringValue HKEY_LOCAL_MACHINE, "SOFTWARE\Classes\Paint.Picture\shell\Text To Display\command", 0, """C:\Project1.exe"" %1"
End Sub

Download this snippet    Add to My Saved Code

Add your program to the Right-Mouse-Click menu Comments

No comments have been posted about Add your program to the Right-Mouse-Click menu. Why not be the first to post a comment about Add your program to the Right-Mouse-Click menu.

Post your comment

Subject:
Message:
0/1000 characters