捕获系统中的有效登录和注销时间

本文关键字:登录 注销 时间 有效 系统 | 更新日期: 2023-09-27 18:30:58

在这里,我试图捕获系统的总登录和注销时间。假设用户在上午 9 点登录系统,然后在上午 11 点锁定系统 (windows+L),然后在下午 3 点再次解锁它,并在下午 6 点锁定/注销当天,那么有效时间为 2+3=5 小时。

如果用户锁定系统,则不应计算计时。此应用程序的目的是跟踪任何用户登录的有效时间并向经理发送邮件......我首先专注于时间跟踪级别。

我认为会话是捕捉场景的最佳方式..但必须保持场景.如果在同一天用户登录然后锁定系统然后完全关闭系统..在同一天,他再次启动系统并继续工作,然后..所有工作时间将在同一天下..

需要计算...用户在 24 天内的有效工作时间。

捕获系统中的有效登录和注销时间

你为什么不写一个Windows服务,并检查最后一个输入?

// Step 1
using System.Runtime.InteropServices;
// Steps 2 and 3
[DllImport("User32.dll")]
private static extern bool 
        GetLastInputInfo(ref LASTINPUTINFO plii);
//Step 4
internal struct LASTINPUTINFO 
{
    public uint cbSize;
    public uint dwTime;
}

上面的代码在这个代码项目链接中得到了很好的解释。 http://www.codeproject.com/Articles/13384/Getting-the-user-idle-time-with-C