タスクマネージャーのウィンドウを[スタート]画面やMetro Appの上に表示できることを初めて知りました。
私としてこれはちょっと予想外でして、少し調査してみることにしました。
まず、IEを起動してフォアグランドウィンドウにしておきます。ウィンドウに影が付いています。

IEのウィンドウに影がなくなったことが分かります。
つまり、チャームは普通のウィンドウのように動いています。
チャームが表示されているときに、タスクバーにあるプログラムをクリックで起動してみます。
しかし、起動しません。
デスクトップ全体を覆うウィンドウがあるため最初のBUTTON_DOWNを奪っているためのようです。
(時計やツールバーのチャームは透明なウィンドウの上にあるような感じです)
ここからデュアル ディスプレイで実験します。
Windows 8 Consumer Previewでは、[スタート]画面やチャームはメインディスプレイにしか表示されません。(Windows 8 Release Previewでは変更されます)
チャームが表示されている状態で、セカンドディスプレイのタスクバーからプログラムを起動してみます。
しかし、できません。
セカンドディスプレイも覆われているようです。
このスクリプトでチャームが表示された状態でSpy++を起動してみましょう。
var shell = WScript.CreateObject("WScript.Shell");
WScript.Sleep(3000);
shell.Run("spyxx.exe");
これで、チャームが表示されたままの状態でSpy++が起動できました。
ウィンドウの一覧が取得できました。
それらしいウィンドウがあるかな…?
あれ?ないぞ!
どういうこと?
やっぱりWin32からは分離されているんだ。
タスクマネージャーのような特殊なウィンドウは、1枚のサーフェイスとして扱われて、[スタート]画面のようなサーフェイスの上に位置するように管理されているのかな?





Recent Comments
2012-04-05 13:55
Wake On Lan 最近ではルータからマジックパケ...
2011-11-30 17:34
Windows Server仮想化テクノロジ入門 はじめまして、私はデル会社のた...
2011-11-23 19:09
迷惑FAX 03-4334-9550 祝日なのにFAXきました。...