2012-04-08

なぜCtrlキーを押しながらタスクマネージャの新しいタスクを選択するとコマンドプロンプトが開くのか

Why does holding the Ctrl key when selecting New Task from Task Manager open a command prompt? - The Old New Thing - Site Home - MSDN Blogs

Adam SはなぜCtrlキーを押しながらタスクマネージャの新しいタスクを選択するとコマンドプロンプトが開くのか質問した。

隠し機能さ。

Windows XPはビジュアルスタイルを導入した。ビジュアルスタイルをデバッグする際に問題になることは、もしビジュアルスタイルエンジンが暴走した場合、まともに見えなくなるということだ。ビジュアルスタイルの開発者がしばしば直面した問題に、実行ダイアログが動かなくなるというものがあった。実行ダイアログがなければ、問題を検証するためにデバッガーを起動することすらできなくなる。

解決方法として、Ctrlキーを押しながらタスクマネージャの新しいタスクを選択すると、実行ダイアログをすっ飛ばして、コマンドプロンプトを起動できるようにした。コマンドプロンプトから、デバッガーをインストールしてデバッグができる。この手法は、Windows XPのコンソールウインドウはテーマが適用されないという仕様上、都合よく動く。ビジュアルシステムが壊れたとしても、コンソールウインドウは動くのだ。

その後、ビジュアルスタイルのバグは潰されていき、隠し機能は必要なくなった。しかし、どういうわけか、取り除かれずに残ったのだ。

ちなみに、なぜ仮想環境を使わないのかという疑問に対しては、そもそもWindows XPの開発当時、仮想環境はまだ発展途上だったからだ。

No comments: