setThreadDesktop 函数 (winuser.h)
将指定的桌面分配给调用线程。 桌面上的所有后续操作都使用授予桌面的访问权限。
语法
BOOL SetThreadDesktop(
[in] HDESK hDesktop
);
参数
[in] hDesktop
要分配给调用线程的桌面的句柄。 此句柄由 CreateDesktop、 GetThreadDesktop、 OpenDesktop 或 OpenInputDesktop 函数返回。
此桌面必须与进程的当前窗口工作站相关联。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
如果调用线程在其当前桌面 (上有任何窗口或挂钩, SetThreadDesktop 函数将失败,除非 hDesktop 参数是当前桌面) 的句柄。
警告 在交互式桌面上打开窗口的任何服务都存在重大的安全风险。 通过打开桌面窗口,服务会使其容易受到登录用户的攻击,其应用程序可能会向服务的桌面窗口发送恶意消息,并影响其运行能力。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 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 ( |