前端之家收集整理的这篇文章主要介绍了
如何枚举另一个用户会话的打开窗口(~EnumWindows),
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序,可以列出当前会话打开的窗口.它使用user32.dll中的Enum
Windows方法.
我想从Windows服务运行此代码,但由于服务没有附加到用户会话,它显然没有返回任何内容.
所以问题是,如何枚举另一个用户会话的打开窗口(例如,使用特定的登录用户)?
与EnumWindows类似,我也想获得用户会话的前台窗口(比如GetForegroundWindow适用于当前用户).
据我所知,你不能从另一个会话的窗口访问.值得注意的是,“当前会话”并没有真正发生任何事情 – 可能有多个
用户通过终端服务
登录,或者XP的
快速用户切换.
一种方法是向每个用户的配置文件添加一个程序,而没有只与您的服务通信的UI.但是,您仍然必须应对可能存在多个活动会话的事实.