ありがとうございます。サポートされている機能ではありませんが。私は似たようなことをする。
これは最善の解決策ではないかもしれませんが、確実に動作します。キーは、再起動手順を開始する前にRunOnceExプロセス(rundll32.exe
)を停止することです。停止していない場合、Windowsは未知の順序でシャットダウンする前にすべてのプロセスを停止します。 RunOnceExプロセスを強制終了する前に "Reboot"プロセスを終了すると、RunOnceExリストの次のアイテムが殺される前に処理が継続されます(したがって、中止されます)。
単純な答え、RunOnceExプロセスを強制終了してからリブートし、再起動のキーを追加します。
set %KEY%=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\009 /ve /D "Reboot.." /f
REG ADD %KEY%\009 /v 1 /D "cmd.exe /c taskkill.exe /f /im rundll32.exe & shutdown /r /t 0 /f" /f
これは、次回の起動時に残りのキーを残すことがあります。だから、それがきれいに見えるように殺害し、再起動する前に手動でキーを削除するための命令を追加します。
set %KEY%=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\009 /ve /D "Reboot.." /f
REG ADD %KEY%\009 /v 1 /D "cmd.exe /c REG DELETE %key%\009 /va /f & taskkill.exe /f /im rundll32.exe & shutdown /r /t 0 /f" /f
はそれがお役に立てば幸いです。
編集:XPで
があなたの代わりにtaskkill
のtskill
を使用する必要がありますが、原理は同じです。
このプログラミングは関連していますか?もしそうでなければ、これはPower UserかServer Faultでもっとよく聞かれるようなものです。 – user314104
ビルドオートメーションタグは関連していないので削除しました。 – Ludwo