switchDesktop 函数 (winuser.h)
使指定的桌面可见并激活它。 这使桌面能够接收来自用户的输入。 调用进程必须具有对桌面DESKTOP_SWITCHDESKTOP访问权限, SwitchDesktop 函数才能成功。
语法
BOOL SwitchDesktop(
[in] HDESK hDesktop
);
参数
[in] hDesktop
桌面的句柄。 此句柄由 CreateDesktop 和 OpenDesktop 函数返回。
此桌面必须与进程的当前窗口工作站相关联。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 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 () |