OpenInputDesktop 函式 (winuser.h)

開啟接收使用者輸入的桌面。

語法

HDESK OpenInputDesktop(
  [in] DWORD       dwFlags,
  [in] BOOL        fInherit,
  [in] ACCESS_MASK dwDesiredAccess
);

參數

[in] dwFlags

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

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

[in] fInherit

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

[in] dwDesiredAccess

桌面的存取權。 如需訪問許可權的清單,請參閱 桌面安全性和訪問許可權

傳回值

如果函式成功,則傳回值是接收用戶輸入之桌面的句柄。 當您完成使用句柄時,請呼叫 CloseDesktop 函式 將其關閉。

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

備註

呼叫進程必須有相關聯的視窗月臺,由系統在建立進程時指派,或由 SetProcessWindowStation 函式設定。 與呼叫進程相關聯的視窗站台必須能夠接收輸入。

如果呼叫進程是在中斷連線的會話中執行,函式會將句柄傳回給桌面,當使用者還原連線時會變成作用中。

應用程式可以使用 SwitchDesktop 函式來變更輸入桌面。

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

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-windowstation-l1-1-1 (於 Windows 8.1)

另請參閱

CloseDesktop

Desktops

SetProcessWindowStation

SwitchDesktop

視窗月臺和桌面函式