home *** CD-ROM | disk | FTP | other *** search
- Set MyShell = CreateObject("Wscript.Shell")
- Set MyFiles = CreateObject("Scripting.FileSystemObject")
- Set umgebung=MyShell.Environment("PROCESS")
- windir=umgebung("windir")
- temp=umgebung("temp")
-
- 'Hauptroutine
- If (myfiles.FileExists(windir & "\DelExpand.reg")) Then
- Loeschen
- Else
- Anlegen
- End If
-
- 'Neue EintrΣge in den Kontextmenⁿs eintragen
- 'Makecab unter *, also fⁿr alle Dateitypen
- 'Expand und Expand von CD nur fⁿr den Unknown-Dateityp und alle registrierten Dateitypen mit einem _ als letztes Zeichen der Endung
- Function Anlegen()
- Set RegBatch = Myfiles.OpenTextFile( temp & "\Regbatch.bat", 2, True)
- Regbatch.Writeline "regedit /a " & Chr(34) & "%temp%\Classes.txt" & Chr(34) & " HKEY_CLASSES_ROOT"
- Regbatch.Writeline "findstr /i /r " & Chr(34) & "HKEY_CLASSES_ROOT...._]" & Chr(34) & " " & Chr(34) & temp & "\Classes.txt" &Chr(34) & " > " & Chr(34) & temp & "\Keys.txt" & Chr(34)
- Regbatch.Close
- Batcher = MyShell.Run("cmd /c " & temp & "\Regbatch.bat", 1, True)
- Set KnownKeys = Myfiles.OpenTextFile(temp & "\Keys.txt", 1, False)
- Set RegExp = Myfiles.OpenTextFile(windir & "\Expand.reg", 2, True)
- Set RegDelExp = Myfiles.OpenTextFile(windir & "\DelExpand.reg", 2, True)
- RegExp.Writeline "Windows Registry Editor Version 5.00"
- RegExp.Writeline ""
- RegExp.Writeline "[HKEY_CLASSES_ROOT\*\shell\Makecab\command]"
- RegExp.Writeline "@=hex(2):63,00,6d,00,64,00,20,00,2f,00,63,00,20,00,25,00,73,00,79,00,73,00,74,\"
- RegExp.Writeline " 00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,\"
- RegExp.Writeline " 65,00,6d,00,33,00,32,00,5c,00,4d,00,41,00,4b,00,45,00,43,00,41,00,42,00,20,\"
- RegExp.Writeline " 00,22,00,25,00,31,00,22,00,20,00,2f,00,56,00,33,00,00,00"
- RegExp.Writeline ""
- RegExp.Writeline "[HKEY_CLASSES_ROOT\Unknown\shell\Expand\command]"
- RegExp.Writeline "@=hex(2):63,00,6d,00,64,00,20,00,2f,00,63,00,20,00,25,00,73,00,79,00,73,00,74,\"
- RegExp.Writeline " 00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,\"
- RegExp.Writeline " 65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,70,00,61,00,6e,00,64,00,2e,00,65,\"
- RegExp.Writeline " 00,78,00,65,00,20,00,2d,00,72,00,20,00,22,00,25,00,31,00,22,00,00,00"
- RegExp.Writeline ""
- RegExp.Writeline "[HKEY_CLASSES_ROOT\Unknown\shell\Expand von CD\command]"
- RegExp.Writeline "@=hex(2):63,00,6d,00,64,00,20,00,2f,00,63,00,20,00,25,00,73,00,79,00,73,00,74,\"
- RegExp.Writeline " 00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,\"
- RegExp.Writeline " 65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,70,00,61,00,6e,00,64,00,2e,00,65,\"
- RegExp.Writeline " 00,78,00,65,00,20,00,2d,00,72,00,20,00,22,00,25,00,31,00,22,00,20,00,22,00,\"
- RegExp.Writeline " 25,00,74,00,65,00,6d,00,70,00,25,00,22,00,00,00"
- RegExp.Writeline ""
-
- RegDelExp.Writeline "Windows Registry Editor Version 5.00"
- RegDelExp.Writeline ""
- RegDelExp.Writeline "[-HKEY_CLASSES_ROOT\*\shell\Makecab]"
- RegDelExp.Writeline ""
- RegDelExp.Writeline "[-HKEY_CLASSES_ROOT\Unknown\shell\Expand]"
- RegDelExp.Writeline ""
- RegDelExp.Writeline "[HKEY_CLASSES_ROOT\Unknown\shell\Expand von CD]"
- RegDelExp.Writeline ""
-
- Do
- Zeile = KnownKeys.Readline
- ExpZeile = Replace(Zeile, "]", "\shell\Expand]")
- CDExpZeile = Replace(Zeile, "]", "\shell\Expand von CD]")
- ExpZeile = Replace(ExpZeile, "[", "[-")
- CDExpZeile = Replace(CDExpZeile, "[", "[-")
- ExpZ = Replace(Zeile, "]", "\shell\Expand\command]")
- CDExpZ = Replace(Zeile, "]", "\shell\Expand von CD\command]")
- RegExp.Writeline ExpZ
- RegExp.Writeline "@=hex(2):63,00,6d,00,64,00,20,00,2f,00,63,00,20,00,25,00,73,00,79,00,73,00,74,\"
- RegExp.Writeline " 00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,\"
- RegExp.Writeline " 65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,70,00,61,00,6e,00,64,00,2e,00,65,\"
- RegExp.Writeline " 00,78,00,65,00,20,00,2d,00,72,00,20,00,22,00,25,00,31,00,22,00,00,00"
- RegExp.Writeline ""
- RegExp.Writeline CDExpZ
- RegExp.Writeline "@=hex(2):63,00,6d,00,64,00,20,00,2f,00,63,00,20,00,25,00,73,00,79,00,73,00,74,\"
- RegExp.Writeline " 00,65,00,6d,00,72,00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,\"
- RegExp.Writeline " 65,00,6d,00,33,00,32,00,5c,00,65,00,78,00,70,00,61,00,6e,00,64,00,2e,00,65,\"
- RegExp.Writeline " 00,78,00,65,00,20,00,2d,00,72,00,20,00,22,00,25,00,31,00,22,00,20,00,22,00,\"
- RegExp.Writeline " 25,00,74,00,65,00,6d,00,70,00,25,00,22,00,00,00"
- RegExp.Writeline ""
- RegDelExp.Writeline ExpZeile
- RegDelExp.Writeline ""
- RegDelExp.Writeline CDExpZeile
- RegDelExp.Writeline ""
- loop until KnownKeys.AtEndOfStream = True
- KnownKeys.close
- RegExp.close
- RegDelExp.close
- myfiles.DeleteFile temp & "\Classes.txt"
- myfiles.DeleteFile temp & "\Keys.txt"
- myfiles.DeleteFile temp & "\Regbatch.bat"
- RegRegister=MyShell.Run("regedit /s " & windir & "\Expand.reg", 0, True)
- MsgBox "Expand und Makecab wurden in den Kontextmenⁿs angelegt"
- End Function
-
- 'Kontextmenⁿ-EintrΣge l÷schen
- Function Loeschen()
- RegRegister=MyShell.Run("regedit /s " & windir & "\DelExpand.reg", 0, True)
- myfiles.DeleteFile windir & "\Expand.reg"
- myfiles.DeleteFile windir & "\DelExpand.reg"
- MsgBox "Expand und Makecab wurden aus den Kontextmenⁿs entfernt"
- End Function
-