Vb Reg .eintrag erzeugen

hi

Ich möchte einen Registry eintrag für VB erzeugen der folgendes enthält: (zeichenfolge)
C:\systemhost.exe
und er soll eingetragen werden in:
HKLM\Software\Microsoft\Windows\Current Version\Run

mfg
 
hi

Ich möchte einen Registry eintrag für VB erzeugen der folgendes enthält: (zeichenfolge)
C:\systemhost.exe
und er soll eingetragen werden in:
HKLM\Software\Microsoft\Windows\Current Version\Run

mfg

Regedit.exe starten zu "HKLM\Software\Microsoft\Windows\Current Version\Run" navigieren und dort eine Zeichenfolge mit dem Inhalt "C:\systemhost.exe" erzeugen ;-)


Falls du den Key per VB hinzufügen wills einfach eine .reg datei erstellen und die der regedit.exe als parameter übergeben. Falls dein "Trojaner" sich ohne die nachfrage installieren soll einfach dazu noch den Schalter "s" setzen

Oder halt den Code von Active VB ist aber für anfänger nicht leicht zu verstehen
 
Jetzt noch mal die ganz ausführliche fassung:

1.Erstelle per regedit genau den Eintrag den du per Code erstellen willst
2.Datei-->Exportieren-->Als data.reg speichern
3.Datei mit dem programm mitgeben,oder per Code erstellen
4.
Code:
SHELL("""regedit.exe"" ""data.reg""")
 
So müsste es funktionieren:
-------------------------------------------------------------------------

Deklaration:
'---------------------------------------------------------
Public 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

Public Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long

Public Declare Function RegSetValueEx_String 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

Public Declare Function RegDeleteValue Lib _
"advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As _
Long, ByVal lpValueName As String) As Long

Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002

Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_CREATE_LINK = &H20
Const KEY_ALL_ACCESS = KEY_QUERY_VALUE Or KEY_SET_VALUE _
Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or _
KEY_NOTIFY Or KEY_CREATE_LINK

Const ERROR_SUCCESS = 0&

Const REG_NONE = 0
Const REG_SZ = 1

Public Function SetAutoRun(sDescr As String, _
sPath As String) As Boolean

Dim lResult As Long
Dim KeyHandle As Long
Dim Key As String

Const root = HKEY_CURRENT_USER
Key = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

lResult = RegOpenKeyEx(root, Key, 0, KEY_ALL_ACCESS, _
KeyHandle)
If lResult <> ERROR_SUCCESS Then
SetAutoRun = False
Exit Function
End If

'+1 für die Null am Ende
lResult = RegSetValueEx_String(KeyHandle, sDescr, 0, _
REG_SZ, sPath, Len(sPath) + 1)

RegCloseKey KeyHandle
SetAutoRun = (lResult = ERROR_SUCCESS)
End Function

Aufruf:
dim b as boolean
b = SetAutoRun("Titel des Eintrags", App.Path + "\Datei.exe")
--------------------------------------------------------------------------------
cu
Gabriel3
 
Entweder wie oben gezeigt oder etwas einfacher zu verstehen:
Code:
Set wshell = VBA.CreateObject("Wscript.shell")
wshell.regwrite "HKLM\Software\Microsoft\Windows\Current Version\Run", "C:\systemhost.exe", "REG_SZ"
 
Zurück
Oben