OpenInputDesktop 関数 (winuser.h)
ユーザー入力を受け取るデスクトップを開きます。
構文
HDESK OpenInputDesktop(
[in] DWORD dwFlags,
[in] BOOL fInherit,
[in] ACCESS_MASK dwDesiredAccess
);
パラメーター
[in] dwFlags
このパラメーターには、0 または次の値を指定できます。
値 | 意味 |
---|---|
|
デスクトップ上の他のアカウントで実行されているプロセスに、このプロセスでフックを設定できるようにします。 |
[in] fInherit
この値が TRUE の場合、このプロセスによって作成されたプロセスはハンドルを継承します。 それ以外の場合、プロセスはこのハンドルを継承しません。
[in] dwDesiredAccess
デスクトップへのアクセス。 アクセス権の一覧については、「 デスクトップ セキュリティとアクセス権」を参照してください。
戻り値
関数が成功した場合、戻り値はユーザー入力を受け取るデスクトップへのハンドルです。 ハンドルの使用が完了したら、 CloseDesktop 関数を呼び出して閉じます。
関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
呼び出し元プロセスには、プロセスの作成時にシステムによって割り当てられるか、 SetProcessWindowStation 関数によって設定される、関連付けられたウィンドウ ステーションが必要です。 呼び出しプロセスに関連付けられているウィンドウ・ステーションは、入力を受け取ることができる必要があります。
呼び出し元のプロセスが切断されたセッションで実行されている場合、ユーザーが接続を復元するとアクティブになるハンドルがデスクトップに返されます。
アプリケーションでは、 SwitchDesktop 関数を使用して入力デスクトップを変更できます。
dwDesiredAccess パラメーターで標準アクセス権のREAD_CONTROL、WRITE_DAC、またはWRITE_OWNERを指定する場合は、DESKTOP_READOBJECTSとDESKTOP_WRITEOBJECTSアクセス権も要求する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-windowstation-l1-1-1 (Windows 8.1で導入) |