如何在 Windows 上获取 Active Desktop 类型?

Posted

技术标签:

【中文标题】如何在 Windows 上获取 Active Desktop 类型?【英文标题】:How to get the Active Desktop type on windows? 【发布时间】:2018-01-18 21:33:48 【问题描述】:

我的软件(以 cpp 编码的服务)需要知道当前哪个桌面处于活动状态:

    Winlogon 桌面 应用程序桌面 屏幕保护程序桌面

我有注册 WTS_SESSION_CHANGE 的代码,但这仅在会话切换时有效。 开机后有没有办法知道当前屏幕是否还是WinLogon?

这样做的目的是在用户模式下通过子进程在正确的桌面显示一个Messagebox。

【问题讨论】:

我看了这个帖子,但没有帮助:***.com/questions/23147872/… 阅读:msdn.microsoft.com/en-us/library/ms683502(VS.85).aspx 得到了解决方案.. 将 GetThreadDesktop() 的名称与 OpenInputDesktop() 进行比较。 【参考方案1】:

得到了解决方案。将 GetThreadDesktop() 的名称与 OpenInputDesktop() 的名称进行比较(在用户进程内)。

【讨论】:

以上是关于如何在 Windows 上获取 Active Desktop 类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何在活动/运行页面上获取is_active_widget? -WordPress功能

Windows Azure Active Directory备份/还原[暂停]

如何检索 Active Directory 用户列表

TestCafe 如何在 Internet Explorer 中验证 Active Directory Windows 安全提示

mac下idea设置spring.profiles.active问题

我如何在 SQL SERVER 2008 中使用 Active Directory 用户进行身份验证但没有 Windows 身份验证