次の方法で共有


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_READOBJECTSDESKTOP_WRITEOBJECTS アクセス権も要求する必要があります。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして OpenDesktop を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ 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

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