2

我正在编写一个 C# 服务,它必须从当前登录的用户那里检索信息,例如活动窗口或最后一次鼠标移动。我已经了解到我可以使用 user32.dll 来检索这些信息,但这只能在调用方法的用户上下文中工作。

这样,我的服务只能检索有关其自身的信息,而不能检索有关“真实世界”用户的信息。我还听说这应该可以通过使用 WTSEnumerateSessions、OpenWindowStation、EnumDesktops 等来实现,但我还没有找到一个示例来展示如何做到这一点。

有人知道如何实现我的目标(或者可能是一些代码示例)吗?

4

1 回答 1

4

这听起来很像在用户会话中运行的应用程序的工作。行为良好的服务不应该像那样窥探用户。可能有办法做到这一点(老实说,我不知道),但听起来不太……正确。

请注意,对于最新版本的 Windows,控制台会话(会话 0)仅限于管理目的,用户(通常)不会在那里。您可能有零个、一个或多个非控制台会话。

于 2009-03-11T14:58:38.473 回答