每次下班想走的时候,都要想想上班打卡的时间,到没到点,能不能走,有时候会忘记,这里写个小工具记录下来
1.问题转化成记录电脑开机的时间,上班打卡和电脑开机时间基本上差不多,按照电脑开机时间来算上班的时长肯定是够的
2.查电脑开机日志,开关机eventId为6005,6006,发现和期待的不一致(即和上班打卡的时间差别较大,而且好多天也没有记录,例如当天为2018/10/30,记录上只有2018/10/17)
3.没得办法,瞎鸡儿点,点着点着发现在Application日志下面当天最早的记录符合自己的期待,其eventID为17177(连接MSSQL的日志记录),然后以这个为条件过滤得到了符合期待的时间记录
4下面用c#得到这个记录的时间并写入文件来记录当天打卡的时间,OpenCompute类是自己建的一个类,里面只有一个写Log的函数,参考以前写的文章里面的写Log的代码
OpenCompute openCompute = new OpenCompute();
EventLog e = new EventLog();
e.Log = "Application";
//Console.WriteLine(DateTime.Now.AddDays(-1).ToString());
foreach (EventLogEntry item in e.Entries)
{
if (item.EventID == 17177)
{
//Console.WriteLine(item.TimeGenerated.ToString());
string today = DateTime.Now.ToString("yyyy-MM-dd");
string eventDay = item.TimeGenerated.ToString("yyyy-MM-dd");
if (today == eventDay)
{
openCompute.WriteLog(item.TimeGenerated.ToString());
Console.WriteLine(item.TimeGenerated.ToString());
}
}
}
Console.ReadKey();
C#新手,如果有其他更好的方法,欢迎讨论,上班打卡时间记录工具:这里