Запись в Регистр при установке программы - VB
Формулировка задачи:
Подскажите, как записать какие-то данные в Регистр при установке программы (так что потом, когда программа-сервис стартует, она эти данные прочитает)?
Мое приложение ( NT service) при работе читает некоторые параметры из Регистра, куда сам я их предварительно и записываю (вручную). Использую MS Package and Deployment Wizard для создания пакета установки программы (на клиенте, например). Знаю, что для Windows Installer это не проблема, а вот как без него обойтись? Спасибо
Решение задачи: «Запись в Регистр при установке программы»
textual
Листинг программы
'Для работы с реестром: '---------------------- Private Const HKEY_CURRENT_USER = &H80000001 Private Const KEY_ALL_ACCESS = &H3F Private Const REG_SZ As Long = 1 Private Declare Function RegOpenKeyEx Lib 'advapi32.dll' Alias 'RegOpenKeyExA' _ (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _ ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegCloseKey Lib 'advapi32.dll' (ByVal hKey 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 Private Declare Function RegDeleteValue Lib 'advapi32.dll' Alias 'RegDeleteValueA' _ (ByVal hKey As Long, ByVal lpValueName As String) As Long Вот, например, добавление в автозагрузку (не мое :)): Public Sub AddToAutostart() Dim Result As Long Dim Retval As Long Dim sPath As String 'Путь к проге: If Right(App.Path, 1) = ' ' Then sPath = App.Path & App.EXEName & '.exe' Else sPath = App.Path & ' ' & App.EXEName & '.exe' End If sPath = sPath + ' /tray' '// Манипулятор ключа: Retval = RegOpenKeyEx(HKEY_CURRENT_USER, 'SoftwareMicrosoftWindowsCurrentVersionRun', 0, KEY_ALL_ACCESS, Result) '// Запись: RegSetValueEx Result, App.Title, 0, REG_SZ, ByVal sPath, Len(sPath) RegCloseKey Result '// Закрыть ключ End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д