はい、あります。サポートされている機能ではありませんが。私は似たようなことをします。
これは最も優れたソリューションではないかもしれませんが、確実に機能します。rundll32.exe
重要なのは、再起動手順を開始する前に、RunOnceEx プロセス ( ) を停止することです。停止していない場合、Windows は不明な順序でシャットダウンする前にすべてのプロセスを停止します。そして、その順序が RunOnceEx プロセスを強制終了する前に「再起動」プロセスを強制終了することを意味する場合、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 では、tskill
代わりにを使用する必要がある場合がありますtaskkill
が、原則は同じです。