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

桌面的存取權。 如需存取權限的清單,請參閱 桌面安全性和存取權限

傳回值

如果函式成功,則傳回值是開啟桌面的控制碼。 當您完成使用控制碼時,請呼叫 CloseDesktop 函式將其關閉。

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

備註

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

如果 dwDesiredAccess 參數指定 READ_CONTROLWRITE_DACWRITE_OWNER 標準存取權限,您也必須要求 DESKTOP_READOBJECTSDESKTOP_WRITEOBJECTS 存取權限。

注意

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

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 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

視窗月臺和桌面函式