GSerg писал(а):RTFM
Sub main()
Dim retval As Boolean
retval = CreateRegKey(HKEY_CLASSES_ROOT, "*\shell", "моя программа")
If retval Then
retval = CreateRegKey(HKEY_CLASSES_ROOT, "*\shell\моя программа", "command")
Else: Exit Sub
End If
If retval Then
retval = SetRegValue(HKEY_CLASSES_ROOT, "*\shell\моя программа\command", "", "c:\MyProject.exe %1")
Else: Exit Sub
End If
End Sub
Public Function CreateRegKey(HKey As Long, sSubKey As String, _
NewSubKey As String) As Boolean
On Error GoTo ErrorErr
Dim phkResult As Long
Dim SA As SECURITY_ATTRIBUTES
' Создаёт новый ключ
CreateRegKey = (RegCreateKeyEx(HKey, sSubKey & "" & NewSubKey, _
0, "", 0&, &H3F, SA, phkResult, Create) = 0&)
' Закрытие ключа
RegCloseKey phkResult
Exit Function
' В случае ошибки вывести сообщение об ошибке
ErrorErr:
MsgBox "Ошибка: <" & Err.Number & "> - " & Err.Description, _
vbExclamation + vbOKOnly, "Созданиие подраздела"
CreateRegKey = False
End Function
Public Function SetRegValue(HKey As Long, sSubKey As String, _
ByVal sSetValue As String, ByVal sValue As String) As Boolean
On Error GoTo ErrorErr
Dim phkResult As Long, lResult As Long
Dim SA As SECURITY_ATTRIBUTES
' Создание и открытие ключа
RegCreateKeyEx HKey, sSubKey, 0, "", 0&, &H3F, SA, phkResult, Create
' Установить новое значение параметра
lResult = RegSetValueEx(phkResult, sSetValue, 0, (1), sValue, _
CLng(Len(sValue) + 1))
' Закрытие ключа
RegCloseKey phkResult
SetRegValue = (lResult = 0&)
Exit Function
' В случае ошибки вывести сообщение об ошибке
ErrorErr:
MsgBox "Ошибка: <" & Err.Number & "> - " & Err.Description, _
vbExclamation + vbOKOnly, "Созданиие параметра"
SetRegValue = False
End Function
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15