跟踪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 }