Plik wsadowy uruchamia się bezpośrednio, ale nie w Startup

0

Poniższy kod wsadu działa idealnie, gdy jest uruchamiany bezpośrednio (otwiera okno Preferencje, ustawia motyw Windows 7 jako tło, a następnie zamyka okno Preferencje), ale po uruchomieniu w folderze Autostart tworzy dwa wystąpienia okna Preferencji (z których jeden nie może załadować ) i nie usuwa żadnej z tych instancji). Próbowałem wariacji, ale nic nie osiąga pożądanego rezultatu.

control /name Microsoft.Personalization
start C:\Windows\Resources\Themes\aero.theme
timeout 2

set temp_vbs="%TEMP%\%~nx0.tmp0.vbs"
(
    echo Dim objShell
    echo Set objShell = CreateObject("WScript.Shell"^)
    echo If objShell.AppActivate("Personalization"^) = True Then
    echo    objShell.SendKeys("%%{F4}"^)
    echo End If
) > %temp_vbs%
cscript %temp_vbs% /

del %temp_vbs%
NL42
źródło
Czy poprawnie działa elewacja?
Twisty Impersonator
W takim razie czy w ogóle by to działało?
NL42
Ta zmiana kodu eliminuje drugie okno preferencji, ale nie usuwa tego, który się pojawia.
NL42
echo off control / name Microsoft.Personalization timeout 2 zestaw temp_vbs = "% TEMP% \% ~ nx0.tmp0.vbs" Rozpocznij c: \ windows \ resources \ themes \ aero.theme (echo Dim objShell echo Ustaw objShell = CreateObject (" WScript.Shell "^) echo If objShell.AppActivate (" Personalizacja "^) = True Następnie echo objShell.SendKeys (" %% {F4} "^) echo Koniec If) & gt; % temp_vbs% cscript% temp_vbs% / del% temp_vbs% taskkill / f "WindowTitle eq Personalization"
NL42
Skopiowałem kod i wyeliminowałem kanały liniowe.
NL42