デスクトップ
デスクトップ には、論理表示画面があり、ウィンドウ、メニュー、フックなどのユーザー インターフェイス オブジェクトが含まれています。ウィンドウの作成と管理に使用できます。 各デスクトップ オブジェクトはセキュリティ保護可能なオブジェクトです。 デスクトップが作成されると、呼び出し元プロセスの現在の ウィンドウ ステーション に関連付け、呼び出し元のスレッドに割り当てられます。
ウィンドウ メッセージは、同じデスクトップ上にあるプロセス間でのみ送信できます。 さらに、特定のデスクトップで実行されているプロセスのフック プロシージャは、同じデスクトップで作成されたウィンドウのみを対象としたメッセージを受信できます。
対話型ウィンドウ ステーション Winsta0 に関連付けられているデスクトップは、ユーザー インターフェイスを表示してユーザー入力を受け取ることができますが、一度にアクティブになっているデスクトップは 1 つだけです。 このアクティブなデスクトップ (入力デスクトップとも呼ばれます) は、現在ユーザーに表示され、ユーザー入力を受け取るデスクトップです。 アプリケーションでは、OpenInputDesktop 関数を使用して、入力デスクトップへのハンドルを取得できます。 必要なアクセス権を持つアプリケーションは、SwitchDesktop 関数を使用して、別の入力デスクトップを指定できます。
既定では、対話型ウィンドウ ステーションには、Default、ScreenSaver、Winlogon の 3 つのデスクトップがあります。
既定のデスクトップは、Winlogon がログオン ユーザーとして初期プロセスを開始するときに作成されます。 その時点で、既定のデスクトップがアクティブになり、ユーザーとの対話に使用されます。
セキュリティで保護されたスクリーン セーバーがアクティブになると、システムは自動的に ScreenSaver デスクトップに切り替わります。これによって、既定のデスクトップ上のプロセスが承認されていないユーザーから保護されます。 セキュリティで保護されていないスクリーン セーバーは Winsta0\Default で実行されます。
ユーザーがログオンしている間、Winlogon デスクトップがアクティブになります。 シェルが何かを表示する準備ができていることを示す場合、または 30 秒後のいずれか早い方の状態になると、システムは既定のデスクトップに切り替わります。 ユーザーのセッション中、ユーザーが Ctrl + Alt + DEL キー シーケンスを押したとき、またはユーザー アカウント制御 (UAC) ダイアログ ボックスが開いているとき、システムは Winlogon デスクトップに切り替えます。
Windows Server 2003 および Windows XP/2000: UAC ダイアログ ボックスはサポートされていません。
Winlogon デスクトップのセキュリティ記述子を使用すると、LocalSystem アカウントなど、非常に制限されたアカウント セットにアクセスできます。 通常、アプリケーションはこれらのアカウントの SID をトークンに含めないため、Winlogon デスクトップがアクティブな間は Winlogon デスクトップにアクセスしたり、別のデスクトップに切り替えたりすることはできません。
詳細については、次のトピックを参照してください。