我的应用程序目前使用dll user32来跟踪用户处于非活动状态的时间。我的问题是,我不想写一百万个查询来查找用户在firefox或word上花费的时间或者应用程序正在运行的时间。我想要的是一些使用计时器来计算进程被主动使用多长时间的方法。然后将此信息保存到数据库中
答案 0 :(得分:0)
Form_Activate
事件。同样,当表单失去焦点Form_Deactivate
时,会引发事件。您可以使用这些事件来确定表单何时获得焦点以及何时丢失它。
DateTime activated;
protected void Form_Activated(Object sender, EventArgs e)
{
activated = DateTime.Now;
}
protected void Form_Deactivated(Object sender, EventArgs e)
{
DateTime deactivated = DateTime.Now;
TimeSpan ts = deactivated - activated; // the duration for which the form was active
// code to store the data activated time/deactivated time/ or duration only in the database
}