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

前端之家收集整理的这篇文章主要介绍了如何枚举另一个用户会话的打开窗口(~EnumWindows)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序,可以列出当前会话打开的窗口.它使用user32.dll中的Enum Windows方法.

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

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

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

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

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

猜你在找的Windows相关文章