Registry Daten eintragen, auslesen, löschen

Mit Windows Script Host (WSH) Werte in die Registry eintragen.

 

Mit dem Bsp. wird ein Registry-Eintrag in dem Pfad "RunOnce" des aktuell angemeldeten Benutzers eingetragen.

Dann Regedit gestartet.

Wurde der Schlüssel nicht gelöscht wird beim nächsten Start von Windows der Taschenrechner einmal gestartet. Windows löscht dann den Eintrag selbständig.

 

Mit diesem Script wird etwas in die Registry eingetragen. Nur Verwenden wenn einem klar ist was dort geschiet.


Option Explicit

Dim oShell, s
Dim rKeyRunOnce, rNeuKey
Const RKEY = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\"

rKeyRunOnce = rKey & "RunOnce"
rNeuKey = rKeyRunOnce & "\Calc_starten"

Set oShell = WScript.CreateObject ("WScript.shell")

s = "C:\WINDOWS\system32\calc.exe"

'1. Parameter ist der Schlüssel-Name (muss immer nit folgenden Basisschlüssel starten
' HKEY_CURRENT_USER or HKCU
' HKEY_USERS
' HKEY_LOCAL_MACHINE or HKLM
' HKEY_CLASSES_ROOT or HKCR
' HKEY_CURRENT_CONFIG

'2. Parameter ist der eigentiche Wert

'3. Parameter legt den verwendeten Datentyp fest (optional).
' REG_SZ
' REF_EXPAND_SZ
' REG_DWORD
' REG_BINARY


'------------------------
' Registry-Key schreiben
'------------------------
oShell.RegWrite rNeuKey , s, "REG_SZ"

'------------------------
' Registry-Key auslesen
'------------------------
msgbox "Schlüssel: " & oShell.regread(rNeuKey)

If MsgBox("Registry-Eintrag mit Regedit anschauen", vbYesNo + vbQuestion) = vbYes Then
'In der Registry für Regedit den aktuellen Pfad eintragen

WScript.sleep 1000 'Kurz eine Sekunde warten

oShell.RegWrite RKEY & "Applets\Regedit\LastKey" , "Arbeitsplatz\" & rKeyRunOnce

oShell.run "regedit" 'Regedit starten

oShell.SendKeys "F5" 'neu einlesen
End If

'------------------------
' Registry-Key löschen
'------------------------
If MsgBox ("Registry-Schlüssel wieder löschen", vbYesNo + vbInformation) = vbYes Then

oShell.regdelete rNeuKey
End If