Hallo,
ich bin jetzt hinter das eigenartige Verhalten gekommen.
Es existieren in der Tat 2 Registry-Schlüssel für die Aktivierung und Deaktivierung des Script-Hostes.
Mir fiel auf, dass unter TotalCommander (TCM) gestartete Bat-Datei immer funktionierte aber die gleiche Bat-Datei von der Windowsoberfläche nicht oder nur für eine andere VBS-Datei.
Unter
http://blog.topdf.de/?p=117 ist dies erklärt.
Unter dem Unterschlüssel \Wow6432Node\ gibt es Einträge, die nachvollziehbar funktionieren.
Habe die Bat-Datei so umgeschrieben:
Sie funktioniert unter VISTA64 sowohl aus der Oberfläche des TCM als auch unter der Windows-Oberfäche.
Es werden beide Schlüssel geändert.
:BEGIN
@echo off
@color 0a
@cls
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo SCRIPT-HOST DEAKTIVIEREN? D und....
EINGABETASTE
@echo.
@echo SCRIPT-HOST AKTIVIEREN? A und.....
EINGABETASTE
@echo.
@echo.
@echo.
@set/p INPUT= EINGABE :
@echo.
@echo.
@echo.
@echo.
@if %INPUT%==A set FLAG=1
@if %INPUT%==a set FLAG=1
@if %INPUT%==D set FLAG=2
@if %INPUT%==d set FLAG=2
@if %FLAG% GTR 0 goto XX
@goto BEGIN
:XX
@echo off
echo Windows Registry Editor Version 5.00 > %TEMP%\test.reg
echo. >> %TEMP%\test.reg
echo. >> %TEMP%\test.reg
echo. >> %TEMP%\test.reg
echo
[HKEY_LOCAL_MACHINE\Software\Microsoft
\Windows Script Host\Settings] >> %TEMP%\test.reg
IF %FLAG%==2 echo "Enabled"="0" >> %TEMP%\test.reg
IF %FLAG%==1 echo "Enabled"="1" >> %TEMP%\test.reg
echo. >> %TEMP%\test.reg
echo. >> %TEMP%\test.reg
echo
[HKEY_LOCAL_MACHINE\Software\Wow6432Node
\Microsoft\Windows Script Host\Settings] >> %TEMP%\test.reg
IF %FLAG%==2 echo "Enabled"="0" >> %TEMP%\test.reg
IF %FLAG%==1 echo "Enabled"="1" >> %TEMP%\test.reg
echo. >> %TEMP%\test.reg
regedit /s %TEMP%\test.reg
@if exist %TEMP%\test.reg @del %TEMP%\test.reg
Da diese aber auch unter WindowsXP und VISTA32 funktionieren soll habe ich 2 Fragen:
Würde der Schlüssel ...\Wow6432\Microsoft\.... dann dort unerwünscht angelegt?
Und wie könnte ich dies vermeiden?
Pettroff