Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Добавить App в автозагрузку


Автор: Logan 20.11.2006, 12:56
Мне нужен код который скопирует мою App в windows/system32 а потом добавит её в автозагрузку с той папки в которую скопирует.

Код

Option Explicit

Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Const KEY_ALL_ACCESS As Long = &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, ByRef 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, ByRef 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 AddToStartup(ByVal strKey As String, ByVal strValue As String)
    Dim lResult As Long
    Call RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", _
        0, KEY_ALL_ACCESS, lResult)
    Call RegSetValueEx(lResult, strKey, 0, REG_SZ, ByVal strValue, Len(strValue))
    Call RegCloseKey(lResult)
End Sub

'Убрать из автозагрузки
Public Sub DeleteFromStartup(ByVal strKey As String)
    Dim lResult As Long
    Call RegOpenKeyEx(HKEY_LOCAL_MACHINE, _
        "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_ALL_ACCESS, lResult)
    Call RegDeleteValue(lResult, strKey)
    Call RegCloseKey(lResult)
End Sub


Такой например толька добавит в реестр ключь на автозагрузку в текущей папке например C:\docs\blablabla.exe а надо чтобы добавил ключь C:\windows\system32\blablabla.exe

Автор: BorisVorontsov 20.11.2006, 13:27
Предупреждаю: автор уже отметился в моем разделе на Исходниках, по его же признанию - он пишет "кейлогер".

Автор: Logan 20.11.2006, 13:52
Вобщето не пишу а использую с ваших же соурсов

Автор: ~FoX~ 28.11.2006, 09:44
Logan, Ты покажи как ты вызываешь функцию добавления в реестр. Потому как она тебе любой путь который ты ей скажешь и добавит.

Автор: Akina 28.11.2006, 14:28
Цитата(Logan @  20.11.2006,  13:56 Найти цитируемый пост)
Такой например толька добавит в реестр ключь на автозагрузку в текущей папке например C:\docs\blablabla.exe а надо чтобы добавил ключь C:\windows\system32\blablabla.exe 

Программа делает то что ты просишь, а не то что ты хочешь. Вот исходя из этого и вноси коррективы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)