SwitchDesktop 函式 (winuser.h)

讓指定的桌面可見並加以啟用。 這可讓桌面接收來自使用者的輸入。 呼叫進程必須DESKTOP_SWITCHDESKTOP桌面的存取權, SwitchDesktop 函式才能成功。

語法

BOOL SwitchDesktop(
  [in] HDESK hDesktop
);

參數

[in] hDesktop

桌面的控制碼。 CreateDesktopOpenDesktop函式會傳回此控制碼。

此桌面必須與進程的目前視窗月臺相關聯。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 不過, SwitchDesktop 只會設定下列情況的最後一個錯誤:

  • 當桌面屬於不可見視窗月臺時
  • hDesktop 是不正確控制碼時,會參考已終結的桌面,或屬於與呼叫程式不同的會話

備註

如果桌面屬於不可見的視窗月臺, SwitchDesktop 函式就會失敗。 從與 WinLogon 和 ScreenSaver 桌面等安全桌面相關聯的進程呼叫SwitchDesktop時也會失敗。 與安全桌面相關聯的進程包括自訂 UserInit 進程。 這類呼叫通常會失敗,並出現「拒絕存取」錯誤。

規格需求

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

另請參閱

CreateDesktop

Desktops

OpenDesktop

視窗月臺和桌面函式