switchDesktop 函数 (winuser.h)

使指定的桌面可见并激活它。 这使桌面能够接收来自用户的输入。 调用进程必须具有对桌面DESKTOP_SWITCHDESKTOP访问权限, SwitchDesktop 函数才能成功。

语法

BOOL SwitchDesktop(
  [in] HDESK hDesktop
);

参数

[in] hDesktop

桌面的句柄。 此句柄由 CreateDesktopOpenDesktop 函数返回。

此桌面必须与进程的当前窗口工作站相关联。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 但是, SwitchDesktop 仅针对以下情况设置最后一个错误:

  • 当桌面属于不可见窗口工作站时
  • hDesktop 是无效句柄、引用已销毁的桌面或属于与调用进程的会话不同的会话时

注解

如果桌面属于不可见的窗口工作站, 则 SwitchDesktop 函数将失败。 当从与安全桌面(如 WinLogon 和 ScreenSaver 桌面)关联的进程调用 SwitchDesktop 时,也会失败。 与安全桌面关联的进程包括自定义 UserInit 进程。 此类调用通常失败并出现“拒绝访问”错误。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 windows 8 中引入的 ext-ms-win-ntuser-windowstation-l1-1-0 ()

另请参阅

CreateDesktop

台式机

OpenDesktop

窗口工作站和桌面函数