Programming Field - プログラミング Tips

Explorer のリフレッシュ

※ 以下の方法は、手順を間違えると何も出来なくなる可能性があります。

Windows で作業していると、不慮の事故などで Explorer にエラーが発生し、デスクトップのアイコンなどが消えることがあります。このとき、「フォルダ オプション」の「別のプロセスでフォルダ ウィンドウを開く」にチェックをしていない場合は、すべてのフォルダ ウィンドウが閉じてまたデスクトップが表示されます(自動で表示してくれる)が、チェックを入れている場合で、フォルダ ウィンドウを 1 つ以上開いている場合(Internet Explorer 上で開いている場合を除く)は、デスクトップが表示されずになぜかエクスプローラのフォルダ ウィンドウが表示されます。

なぜデスクトップではなくフォルダ ウィンドウが表示されるかというと、実はデスクトップも普通のエクスプローラ(フォルダを指定しない場合)も、同じコマンドラインで「Explorer.exe」を起動しているためです。ここでデスクトップを表示するかどうかは、「Explorer.exe が既に 1 つ以上実行されているか」という判定を行っています。なので、デスクトップが消えてしまったときに 1 つ以上のフォルダ ウィンドウが開いている場合は、自動起動される Explorer.exe が「勘違い」をして、デスクトップではなくエクスプローラを表示してしまいます。

デスクトップが表示されていない状態の例(クリックすると拡大)
デスクトップが表示されていない状態の例(クリックすると拡大)

もしこうなってしまった場合は、Internet Explorer か、ファイルを選択するダイアログ(ツールバーの付いた標準のもの)を表示できるアプリケーションを 1 つ以上起動し、その後フォルダ ウィンドウをすべて閉じます。そして残ったアプリケーションから Explorer.exe を実行します。

Internet Explorer の場合
アドレスに Windows のフォルダを入力します。フォルダが開いたら、Explorer.exe を探して起動します。
ファイルの選択ダイアログを持つアプリケーションの場合
ファイルを選択するダイアログを表示させたら、ファイルの表示を「すべてのファイル」にして(無い場合は入力欄に「*.exe」と入力)、Windows フォルダに移動します。Explorer.exe を探し、選択して決定せず、右クリックして「開く」を選択します。すると Explorer.exe が起動します。
Explorer.exe を選択して右クリックした例

また、Windows NT/2000/XP 系の場合は、Ctrl+Alt+Delete を押してタスク マネージャを起動し、そこで「ファイル名を指定して実行」を行うことも出来ます。

念のためもう一度書きますが、上記の 3 つの動作は必ずフォルダ ウィンドウをすべて閉じてから行ってください。また、手順を間違えると何も起動できなくなってしまう(Windows キー + E などは効かない)のでご注意ください。もし間違えてしまったら、Alt+Tab を使って表示されるアプリケーションを終了して、Ctrl+Alt+Delete を使って再起動するしかありません。

意図的にデスクトップを消す方法

上の画像を作る際に使った方法でもありますが、「Windows の終了」ダイアログ(シャットダウン方法を選ぶダイアログ)で、Ctrl+Alt+Shift を押しながら「キャンセル」をクリックすると、デスクトップを表示させている Explorer.exe のみ終了させる、すなわちデスクトップを消すことが出来ます。これは、デスクトップに表示するバー(AppBar)や、デスクトップやマイ コンピュータなどに表示する仮想フォルダ(ネームスペース エクステンション; Namespace Extension)のプログラミングでデバッグを行いたいとき(実行するアプリケーションを Explorer.exe にする)などに便利です。元に戻る際は上記の動作を行いますが、事前に上記の手順を行える何らかのアプリケーションを実行しておいてください。(この方法を行った場合は、自動的にデスクトップが表示されることはありません。)

参考(より詳細に書かれている MSDN のページ; 英語): Debugging with the Shell

最終更新日: 2006/07/30