共用方式為


OpenDesktopA 函式 (winuser.h)

開啟指定的桌面物件。

語法

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

參數

[in] lpszDesktop

要開啟之桌面的名稱。 桌面名稱不區分大小寫。

這個桌面必須屬於目前的視窗月臺。

[in] dwFlags

此參數可以是零或下列值。

價值 意義
DF_ALLOWOTHERACCOUNTHOOK
0x0001
允許在桌面上的其他帳戶中執行的進程,在此程式中設定勾點。

[in] fInherit

如果此值 TRUE,則此進程所建立的進程將會繼承句柄。 否則,進程不會繼承此句柄。

[in] dwDesiredAccess

桌面的存取權。 如需存取權限清單,請參閱 Desktop Security and Access Rights

傳回值

如果函式成功,傳回值就是開啟桌面的句柄。 當您完成使用句柄時,請呼叫 CloseDesktop 函式來關閉它。

如果函式失敗,則傳回值 NULL。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

呼叫進程必須有相關聯的視窗月臺,由系統在進程建立期間指派,或由 SetProcessWindowStation 函式所設定。

如果 dwDesiredAccess 參數指定 READ_CONTROLWRITE_DACWRITE_OWNER 標準訪問許可權,您也必須要求 DESKTOP_READOBJECTSDESKTOP_WRITEOBJECTS 訪問許可權。

注意

winuser.h 標頭會將 OpenDesktop 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 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

Desktops

OpenInputDesktop

SetProcessWindowStation

SetThreadDesktop

SwitchDesktop

視窗月臺和桌面函式