跟踪Windows中启动的应用程序

时间:2020-03-06 15:01:40  来源:igfitidea点击:

我们正在尝试构建信息亭解决方案,以便按小时收费,以供人们使用他们所使用的应用程序。因此,我们需要一种方法来确定应用程序何时启动,何时关闭以及记录此信息以进行计费。我是一位经验丰富的.NET程序员,因此托管代码解决方案将是不错的选择。我还涉猎了Windows API,因此也可以使用。有什么想法吗?

解决方案

使用WMI调用就足够简单了。实际上,我们可以从操作系统中捕获事件,这些事件包括启动应用程序,关闭应用程序,运行时间,使用的内存量等等。

这是监视进程创建,删除等的一个示例。

http://weblogs.asp.net/whaggard/archive/2006/02/11/438006.aspx

如果我们在谈论自己编写的应用程序,只需在Application.Run()方法的任一侧记录DateTime.Now即可:

static void Main() 
{   
    DateTime StartTime = DateTime.Now;
    Application.Run(new frmBilling());
    DateTime EndTime = DateTime.Now;

    //Log information to DB for billing
}