You need something similar to the following. This is a registry merge file, save it as with the extension .reg, and then merge it into the registry (normal warnings about modifying the registry apply). Naturally, you can write some VB to do the same thing if you'd prefer...
REGEDIT4
[HKEY_CLASSES_ROOT\*]
[HKEY_CLASSES_ROOT\*\Shell]
[HKEY_CLASSES_ROOT\*\Shell\Open]
@="&Convert"
[HKEY_CLASSES_ROOT\*\Shell\Open\Command]
@="\"full_path_to_your_program\" \"%1\""
And here's the VB that does something similar:
[tt]
Option Explicit
Private Declare Function RegCreateKeyEx Lib "advapi32.dll" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Any, phkResult As Long, lpdwDisposition As Long) As Long
Private Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const REG_OPTION_NON_VOLATILE = 0
Private Const KEY_ALL_ACCESS = &H3F
Private Const REG_SZ = 1
Private Function AddMeToExplorerShortcutMenu()
Dim result As Long
Dim phKey As Long
Dim Disposition As Long
Dim KeyString As String
Dim mySec As SECURITY_ATTRIBUTES
result = RegCreateKeyEx(HKEY_CLASSES_ROOT, "*\Shell\Open", 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, phKey, Disposition)
If result = 0 Then
KeyString = "&New Info" + Chr$(0) ' This is the text that appears on the menu
result = RegSetValueExString(phKey, "", 0&, REG_SZ, KeyString, Len(KeyString))
RegCloseKey phKey ' Clean up
result = RegCreateKeyExString(HKEY_CLASSES_ROOT, "*\Shell\Open\Command", 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, phKey, Disposition)
KeyString = Chr(34) + App.Path + "\" + App.EXEName + Chr(34) + " %1" + Chr$(0)
result = RegSetValueExString(phKey, "", 0&, REG_SZ, KeyString, Len(KeyString))
RegCloseKey phKey ' Clean up
End If
End Function