OpenDesktopA 関数 (winuser.h)

指定したデスクトップ オブジェクトを開きます。

構文

HDESK OpenDesktopA(
  [in] LPCSTR      lpszDesktop,
  [in] DWORD       dwFlags,
  [in] BOOL        fInherit,
  [in] ACCESS_MASK dwDesiredAccess
);

パラメーター

[in] lpszDesktop

開くデスクトップの名前。 デスクトップ名では大文字と小文字は区別されません。

このデスクトップは、現在のウィンドウ ステーションに属している必要があります。

[in] dwFlags

このパラメーターには、0 または次の値を指定できます。

説明
DF_ALLOWOTHERACCOUNTHOOK
0x0001
デスクトップ上の他のアカウントで実行されているプロセスに、このプロセスでフックを設定できるようにします。

[in] fInherit

この値が TRUE の場合、このプロセスによって作成されたプロセスはハンドルを継承します。 それ以外の場合、プロセスはこのハンドルを継承しません。

[in] dwDesiredAccess

デスクトップへのアクセス。 アクセス権の一覧については、「 デスクトップ セキュリティとアクセス権」を参照してください。

戻り値

関数が成功した場合、戻り値は開かれたデスクトップへのハンドルです。 ハンドルの使用が完了したら、 CloseDesktop 関数を呼び出して閉じます。

関数が失敗した場合は、返される値は NULL です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

呼び出し元プロセスには、プロセス作成時にシステムによって割り当てられるか、 SetProcessWindowStation 関数によって設定される、関連付けられたウィンドウ ステーションが必要です。

dwDesiredAccess パラメーターで標準アクセス権のREAD_CONTROLWRITE_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 で導入)

関連項目

CloseDesktop

CreateDesktop

デスクトップ

OpenInputDesktop

SetProcessWindowStation

SetThreadDesktop

SwitchDesktop

ウィンドウ ステーションとデスクトップ関数