如何检测Windows登录事件?

3

如何检测Windows登录事件?

如何从Windows服务启动用户登录?

我试图编写一段代码来检测登录事件并自动记录另一个事件。

5个回答

2
你如何检测Windows登录事件?
如果存在任何机制,那很可能是在WMI中。有许多WMI类。特别是Win32_LogonSession;它与Win32_Account通过Win32_LoggedonUser相关联。如果支持Win32_LogonSession的创建事件,那将是一种非常有效的方法。
那么,如何从Windows服务启动用户登录?
LogonUser API允许创建新的用户令牌,然后您可以将该令牌用于线程或进程。使用CreateProcessWithLogonW(和类似工具)允许创建用户名和密码以在不同帐户下创建进程(实质上是LogonUser加CreateProcessWithTokenW)。

2

1

Winlogon Notification Package已从Vista中删除。

请使用WTSRegisterSessionNotification或System Event Notification Service (SENS)。但是,您无法交互式地登录用户,以便移除登录对话框并显示用户桌面。这是通过winlogon使用一些注册表键完成的。LogonUser只会给您一个令牌,您可以使用该令牌来模拟用户。


1

你可以通过监控事件日志等方式来检测用户登录。 此外,你也可以像Richard所解释的那样使用特定用户启动进程。

然而,听起来你想做另外一件事情,即交换已登录用户的登录身份。我认为这是不可能的。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接