如何枚举另一个用户会话的打开窗口(~EnumWindows)

我有一个应用程序,可以列出当前会话打开的窗口.它使用user32.dll中的Enum Windows方法.

我想从Windows服务运行此代码,但由于服务没有附加到用户会话,它显然没有返回任何内容.

所以问题是,如何枚举另一个用户会话的打开窗口(例如,使用特定的登录用户)?

与EnumWindows类似,我也想获得用户会话的前台窗口(比如GetForegroundWindow适用于当前用户).

据我所知,你不能从另一个会话的窗口访问.值得注意的是,“当前会话”并没有真正发生任何事情 – 可能有多个用户通过终端服务登录,或者XP的快速用户切换.

一种方法是向每个用户配置文件添加一个程序,而没有只与您的服务通信的UI.但是,您仍然必须应对可能存在多个活动会话的事实.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...