「モダンブートメニュー」アプリで遊んでいたら、高機能(?)シャットダウン/再起動ツールができちゃった:その知識、ホントに正しい? Windowsにまつわる都市伝説(215)
本連載第211回では、Windows 10の「モダンブートメニュー」が実際にはレガシーなWin32アプリであることを紹介しました。その後、もう少しこのアプリで遊んでみたら、実に面白いものが出来上がりました。
「モダンブートメニュー」でもっと遊ぼう!
「モダンブートメニュー」(「イマーシブブートメニュー」とも呼びます)は、「Windows 8」から導入された、タッチ操作対応の新しいブートメニューです。タッチ操作に対応できるように、このメニューはブートの最終段階で表示され(表示される場合)、既定のブートエントリを選択すればすぐにログオン画面に切り替わりますし、別のブートエントリやトラブルシューティングツールを選択すると、一度、再起動してから選択したものが実行されます。
本連載の第211回では、モダンブートメニューが「C:\Windows\System32\Bootim.exe」というWin32アプリケーションであること(イマーシブ《UWP》アプリではなく!)、それがブートの最終段階の「Windowsログオンアプリケーション(Winlogon.exe)」から開始されていること、レガシーブートメニュー環境では使える起動直後の[F8]キーや[F10]キーが使えなくなる理由、ログオン後に通常のWin32アプリケーションとしてエクスプローラーからのダブルクリックや「コマンドプロンプト(cmd.exe)」から実行できることとその挙動、アクセス権による表示の違いなどについて解き明かしました。
- Windowsのモダンブートメニュー、その正体はレガシーなアプリだった?(本連載 第211回)
通常のWin32アプリケーションとして実行した場合、「PCの電源を切る」を選択しても電源が切れないなど、選択されたメニューに対応した挙動にならないのは、呼び出し元(「Winlogon.exe」ではない「cmd.exe」)が何もしないからです。
では、呼び出し元がやればいいということで、バッチファイル(.cmd)でモダンブートメニューの戻り値を取得して、対応させてみることにしました。
簡単なバッチファイルを作って、「bootim.exe」の戻り値(%ERRORLEVEL%で取得可能)を調べてみると、「PCの電源を切る」を選択した場合の戻り値は「641」で、「続行」(管理者として実行した場合に表示)を選択した場合の戻り値は「0」でした。管理者として実行した場合に表示される他の項目については面倒なのでひとまず省略します。
本当にシャットダウンできるようにしてみた
というわけで、「PCの電源を切る」と「続行」の処理に対応したバッチファイルを以下の画面1のように作成してみました(実際のバッチスクリプトは、さらに改良した別のバッチファイルをこの後示すので省略します)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 11一般提供開始、企業での導入/展開時に注意すべきポイントは?
MicrosoftはWindowsデスクトップOSの最新バージョンである「Windows 11」を正式にリリースし、Windows 11対応ハードウェアを搭載したWindows 10デバイスに対して、無料アップグレードの段階的なロールアウトを開始しました。 - Windows 11登場! 11で変わること、思ったほど変わらないこと
新しいWindows OS「Windows 11」の正式出荷が2021年10月5日に開始された。Windows 10からの無償アップグレードが可能であるため、どのような新機能が実装されたのか気になる人も多いのではないだろうか。そこで、本稿ではWindows 11の新機能、削除された機能などを簡単にまとめてみた。 - 買って、試して分かったWindows 365(契約・セットアップ編)
Microsoftからクラウド上でWindows 10が動く「クラウドPC」の利用可能なサブスクリプションサービス「Windows 365」の提供が開始された。早速、サブスクリプションを契約し、クラウドPCの設定を行ってみた。契約からセットアップまでで見えてきた便利な点、不便な点などをまとめてみた。 - いよいよ完全終了へ。Internet Explorer(IE)サポート終了スケジュール
長らくWindows OSに標準装備されてきたInternet Explorer(IE)。その「寿命」は各種サポートの終了時期に左右される。Windows OSごとにIEのサポート終了時期を分かりやすく図示しつつ、見えてきた「終わり」について解説する。