「応答なし」のウィンドウなのに“応答する”のはなぜなのか?:その知識、ホントに正しい? Windowsにまつわる都市伝説(77)(1/2 ページ)
Windowsで何かのアプリの作業中、ウィンドウタイトルに「応答なし」と表示され、マウスやキーボードの入力に全く反応しないという状況は、誰もが経験したことがあるでしょう。この「応答なし」ウィンドウ、実は“偽物”だって知っていましたか?
「応答なし」ウィンドウはクリックでは復活しません!
Windows上で実行されるアプリケーションのウィンドウは、応答がない状態になると、ウィンドウタイトルに「(応答なし)」と表示してユーザーに知らせます。
「応答なし」のウィンドウを操作しようと繰り返していると、今度は「<アプリケーション名>は応答していません。プログラムを閉じると、情報が失われる可能性があります」というダイアログボックスが表示され、「プログラムを再起動します」「プログラムを終了します」「プログラムの応答を待ちます」の選択を求められます(画面1)。
この選択に答えなくても、アプリケーションが応答するようになれば、ダイアログボックスは勝手に消え、応答するようになったウィンドウに戻ります。
もう少し詳しく説明すると、“応答がない状態”とは、アプリケーションのプロセスが持つウィンドウオブジェクトが「ウィンドウメッセージ(Window Message)」に5秒(既定)以上、応答しなくなる状態を指します。マウスの左右クリック操作やキー入力操作は、ウィンドウメッセージとしてアプリケーションに送信されます。
Windowsのこの仕様は(最後の「少し詳しい」の説明を除いて)、経験上、皆さんも何となく分かっていると思います。応答しない状態であっても、クリックしてあげれば「大丈夫ですかぁー」と声を掛けているような気がしませんか。そうしてあげることで、応答が返ってくる“かもしれない”という期待も込めて。でも、その行為は、全く無駄です。症状を起こしているアプリケーションにあなたの声(クリック操作やキー入力)は届いていません。なぜなら、相手は今、そこにはいないのですから。
実は「応答なし」ウィンドウは“別人(ゴースト)”でした
マイクロソフトが無料公開しているユーティリティー群「Windows Sysinternals」について、調べものをしているときに、応答なしウィンドウについて説明している公式ブログの古い記事を見つけました。
- Windows Error Reporting(For Hangs)[英語](Microsoft Developer)
応答なしウィンドウは「ゴーストウィンドウ(Ghost Window)」と呼ばれるもので、Windows Vistaから実装された機能です。
Windowsは、ウィンドウの応答なし状態を検出すると、応答なしウィンドウを隠し、同じ場所に新しいウィンドウを作成して表示します。これがゴーストウィンドウであり、もともとのウィンドウの前回正常実行状態(last known good state)のビットマップを描画したものです。ゴーストウィンドウのウィンドウタイトルは、応答なしウィンドウのウィンドウタイトルに「(応答なし)」を追加したものになります。
そして、このゴーストウィンドウは、もともとのアプリケーションのプロセスのものではなく「デスクトップウィンドウマネージャー(dwm.exe)」の持ち物であり、“応答性がある”(Responsive)ウィンドウだということです。
Word 2013やWord 2016のウィンドウタイトルには背景があり、ウィンドウタイトルのテキストは中央に表示されますが、応答なしウィンドウのウィンドウタイトルには背景がなく、テキストが左側に表示されるのは、そういう理由です(画面2)。
また、応答なしを検出する5秒(既定)までは、ウィンドウは全く反応しませんが、5秒後にウィンドウタイトル「(応答なし)」のゴーストウィンドウに切り替わった瞬間、ウィンドウの移動が可能になります。そして、ウィンドウ内でクリックすると、「再起動」「終了する」「応答を待つ」の選択肢を提供するダイアログボックスが表示されるようになります。つまり、「(応答なし)」のゴーストウィンドウが「応答している」のです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 進化を続ける“高機能タスクマネージャー”「Process Explorer」を使いこなせ
本連載では、システム管理やネットワーク管理、トラブル解決に役立つフリーソフト/シェアウェアを紹介します。よく知られたツールを取り上げることもありますが、ちょっとした使い方の具体例を紹介していきます。 - 新しい仲間「Sysmon」はトラブルシューティングの必携ツールになりそうな予感
本連載では「Windows Sysinternals」の便利なツールをいくつか紹介してきました。2014年8月、新しい仲間となる「Sysmon」が追加されたので紹介しましょう。なかなか使えそうなヤツですよ。 - 一瞬で消え去る怪しいウィンドウ、「ウソクライアント(usoclient.exe)」のホントの仕事は?
今回は「Windows 10版スカイフィッシュ」のお話です。Windows 10を使用中、「C:\Windows\System32\usoclient.exe」と書かれたウィンドウが一瞬表示されるのを目撃したことはありませんか。この不思議な現象は何でしょうか。また、怪しげな名前の実行ファイル「usoclient.exe」の正体は……。それでは、調査報告といきましょう。 - なぜ、Windows 10のWindows Updateは嫌われているのか?
前回に続き、今回も「Windows Update」に関する話題です。Windows 10のWindows Updateはなぜ不評なのか、良いところはないのか。そして、現状の問題点について取り上げます。