' Zugriff auf Registrierung DECLARE SUB SchreibeInRegistry (Schluessel$, Wert$, Typ$) DECLARE SUB LoescheInRegistry (Schluessel$) DECLARE FUNCTION LeseRegistry$ (Schluessel$) ' Demonstration SchreibeInRegistry "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ" PRINT LeseRegistry("HKCU\Software\ACME\FortuneTeller\MindReader") LoescheInRegistry "HKCU\Software\ACME\FortuneTeller\MindReader" FUNCTION LeseRegistry$ (Schluessel$) OPEN ENVIRON$("TEMP") + "\~REGREAD.VBS" FOR OUTPUT AS 1 PRINT #1, "Set oSh = WScript.CreateObject(" + CHR$(34) + "WScript.Shell" + CHR$(34) + ")" PRINT #1, "Set oFS = WScript.CreateObject(" + CHR$(34) + "Scripting.FileSystemObject" + CHR$(34) + ")" PRINT #1, "Set oTs = oFS.CreateTextFile(" + CHR$(34) + ENVIRON$("TEMP") + "\~REGROUT.TXT" + CHR$(34) + ", True)" PRINT #1, "oTs.WriteLine oSh.RegRead(" + CHR$(34) + Schluessel$ + CHR$(34) + ")" PRINT #1, "oTs.Close" PRINT #1, "Set oTs = Nothing" PRINT #1, "Set oFS = Nothing" PRINT #1, "Set oSh = Nothing" CLOSE 1 ' Generiertes Script ausfhren SHELL "cscript //NoLogo " + ENVIRON$("TEMP") + "\~REGREAD.VBS" ' die .VBS brauchen wir bereits nicht mehr KILL ENVIRON$("TEMP") + "\~REGREAD.VBS" ' Wert auslesen OPEN ENVIRON$("TEMP") + "\~REGROUT.TXT" FOR INPUT AS 1 LINE INPUT #1, w$ CLOSE 1 ' Ausgabedatei ebenfalls l”schen KILL ENVIRON$("TEMP") + "\~REGROUT.TXT" LeseRegistry$ = w$ END FUNCTION SUB LoescheInRegistry (Schluessel$) OPEN ENVIRON$("TEMP") + "\~REGWRI.VBS" FOR OUTPUT AS 1 PRINT #1, "Set oSh = WScript.CreateObject(" + CHR$(34) + "WScript.Shell" + CHR$(34) + ")" PRINT #1, "oSh.RegDelete " + CHR$(34) + Schluessel$ + CHR$(34) PRINT #1, "Set oSh = Nothing" CLOSE 1 ' Soeben generiertes Script ausführen SHELL "cscript //NoLogo " + ENVIRON$("TEMP") + "\~REGWRI.VBS" ' Und gleich wieder löschen nach Gebrauch KILL ENVIRON$("TEMP") + "\~REGWRI.VBS" END SUB SUB SchreibeInRegistry (Schluessel$, Wert$, Typ$) OPEN ENVIRON$("TEMP") + "\~REGWRI.VBS" FOR OUTPUT AS 1 PRINT #1, "Set oSh = WScript.CreateObject(" + CHR$(34) + "WScript.Shell" + CHR$(34) + ")" PRINT #1, "oSh.RegWrite " + CHR$(34) + Schluessel$ + CHR$(34) + ", " + CHR$(34) + Wert$ + CHR$(34) + ", " + CHR$(34) + Typ$ + CHR$(34) PRINT #1, "Set oSh = Nothing" CLOSE 1 ' Soeben generiertes Script ausfhren SHELL "cscript //NoLogo " + ENVIRON$("TEMP") + "\~REGWRI.VBS" ' Und gleich wieder l”schen nach Gebrauch KILL ENVIRON$("TEMP") + "\~REGWRI.VBS" END SUB