我正在编写一个 C# 服务,它必须从当前登录的用户检索信息,例如事件窗口或上次鼠标移动。 我已经了解到我可以使用 user32.dll 检索这些信息,但这只能在调用这些方法的用户上下文中起作用。
这样我的服务只能检索有关其自身的信息,而不能检索有关“现实世界”用户的信息。我还听说这应该可以通过使用 WTSEnumerateSessions、OpenWindowStation、EnumDesktops 等来实现,但我还没有找到向我展示如何执行此操作的示例。
有人知道如何实现我的目标吗?
最佳答案
这听起来很像在用户 session 中运行的应用程序的工作。一个行为良好的服务不应该这样窥探用户。 可能有办法做到这一点(老实说我不知道),但听起来不太……正确。
请注意,在最新版本的 Windows 中,控制台 session ( session 0)仅限于管理目的,用户(通常)不会在那里。您可能有零个、一个或多个非控制台 session 。
关于c# - 如何从服务获取登录用户的事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/634872/