特定のアプリケーションだけ動かして、デスクトップやスタートメニューは使わせたくないという要件を満たすことができないか、色々と試してみました。その時の一例をご紹介いたします。
内容としては、Windowsの起動Shellを、起動したいアプリケーションにするといった簡単な内容となります。 実際に試した手順で記載しています。
ローカルグループポリシーエディター(gpedit.msc)を起動します。
ユーザーの構成>管理テンプレート>システムへ移動し、「ユーザーインターフェースのカスタム設定」を開きます。
(影響範囲が怖かったため、コンピューターではなくユーザーの構成で試しました)
ポリシーを「有効」にして、インターフェース ファイル名に実行したいアプリケーションを入れます。今回は、メモ帳(Notepad.exe)が起動するように設定してみました。
一度ログオフして、再度ログオンすると、見事、メモ帳のみ起動してきました。 スタートメニューなどもなく、メモ帳だけが動いている状態です。
これで完成と思ったのですが、ここで問題発生。メモ帳を閉じると何もできない黒画面になってしまい、少し焦りました。 その後、黒画面状態でも一部のショートカットキーが利用できることがわかり解決しました。
「Ctrl」+「Alt」+「Delete」や「Ctrl」+「Shift」+「Esc」が機能しました。
※「Windows」+「R」などは起動しないのでご注意ください。
そこからタスクマネージャーを起動して、ファイル>新しいタスクの実行で「Explorer」を起動すると見慣れたデスクトップとタスクバーが表示され操作できるようになりました。
このままだと使い物にならないため、アプリケーションが終了すると自動的にシャットダウンさせるスクリプトを準備しました。
startup.vbs
Set objWSH = CreateObject("Wscript.shell")
objWSH.Run "notepad.exe" , 1 ,True
objWSH.Run "shutdown /s /t 0" .0. True
グループポリシーの「ユーザーインターフェースのカスタム設定」に、作成したスクリプトを指定してみましたが失敗。
スクリプトの直接指定ではダメなようでしたので、下記に変更。
「Wscript c:¥startup.vbs」
これで試してみると、メモ帳を終了するとシャットダウンが自動で動作するようになりました。
今回の検証はここまでとなります。
興味のある方は、一度試してみていただければと思います。