OpenDesktopA 関数 (winuser.h)
指定したデスクトップ オブジェクトを開きます。
構文
HDESK OpenDesktopA(
[in] LPCSTR lpszDesktop,
[in] DWORD dwFlags,
[in] BOOL fInherit,
[in] ACCESS_MASK dwDesiredAccess
);
パラメーター
[in] lpszDesktop
開くデスクトップの名前。 デスクトップ名では大文字と小文字は区別されません。
このデスクトップは、現在のウィンドウ ステーションに属している必要があります。
[in] dwFlags
このパラメーターには、0 または次の値を指定できます。
値 | 説明 |
---|---|
|
デスクトップ上の他のアカウントで実行されているプロセスに、このプロセスでフックを設定できるようにします。 |
[in] fInherit
この値が TRUE の場合、このプロセスによって作成されたプロセスはハンドルを継承します。 それ以外の場合、プロセスはこのハンドルを継承しません。
[in] dwDesiredAccess
デスクトップへのアクセス。 アクセス権の一覧については、「 デスクトップ セキュリティとアクセス権」を参照してください。
戻り値
関数が成功した場合、戻り値は開かれたデスクトップへのハンドルです。 ハンドルの使用が完了したら、 CloseDesktop 関数を呼び出して閉じます。
関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
呼び出し元プロセスには、プロセス作成時にシステムによって割り当てられるか、 SetProcessWindowStation 関数によって設定される、関連付けられたウィンドウ ステーションが必要です。
dwDesiredAccess パラメーターで標準アクセス権のREAD_CONTROL、WRITE_DAC、またはWRITE_OWNERを指定する場合は、DESKTOP_READOBJECTSとDESKTOP_WRITEOBJECTSアクセス権も要求する必要があります。
注意
winuser.h ヘッダーは、OpenDesktop をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-windowstation-ansi-l1-1-1 (Windows 10 バージョン 10.0.14393 で導入) |