OpenInputDesktop 函数 (winuser.h)
打开接收用户输入的桌面。
语法
HDESK OpenInputDesktop(
[in] DWORD dwFlags,
[in] BOOL fInherit,
[in] ACCESS_MASK dwDesiredAccess
);
参数
[in] dwFlags
此参数可以为零或以下值。
值 | 含义 |
---|---|
|
允许在桌面上的其他帐户中运行的进程在此进程中设置挂钩。 |
[in] fInherit
如果此值为 TRUE,则此进程创建的进程将继承句柄。 否则,进程不会继承此句柄。
[in] dwDesiredAccess
对桌面的访问。 有关访问权限的列表,请参阅 桌面安全和访问权限。
返回值
如果函数成功,则返回值是接收用户输入的桌面的句柄。 使用完句柄后,调用 CloseDesktop 函数将其关闭。
如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。
注解
调用进程必须具有关联的窗口工作站,在创建进程时由系统分配,或者由 SetProcessWindowStation 函数设置。 与调用进程关联的窗口工作站必须能够接收输入。
如果调用进程在断开连接的会话中运行,则函数会向桌面返回一个句柄,该句柄在用户还原连接时变为活动状态。
应用程序可以使用 SwitchDesktop 函数更改输入桌面。
如果 dwDesiredAccess 参数指定 READ_CONTROL、 WRITE_DAC或 WRITE_OWNER 标准访问权限,则还必须请求 DESKTOP_READOBJECTS 和 DESKTOP_WRITEOBJECTS 访问权限。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | Windows 8.1) 中引入的 ext-ms-win-ntuser-windowstation-l1-1-1 ( |