用户在我的计划上花了多少时间?

时间:2011-06-06 15:05:35

标签: c# .net analytics

我必须对我的程序进行的一项分析是用户在我的程序上花费了多少时间?它基本上衡量用户找到我的程序的有用程度,他们积极继续使用它。并用于促使用户积极开始使用该应用程序。

我最初想过在启动应用程序到关闭应用程序之间使用时间跨度,但问题是用户只能保持应用程序打开而不能使用它。

我目前使用TotalProcessorTime(C#/ VB .Net)让管理层知道用户在应用程序上花费了多少时间。 TotalProcessorTime给出了应用程序使用CPU的数量,但这并不能很好地转化为管理,因为即使用户主动使用应用程序几分钟,TotalProcessorTime也会少得多。

任何开箱即用的思考/建议?

1 个答案:

答案 0 :(得分:2)

由于您想知道人们使用您的软件的程度而不是您的软件使用CPU的时间(它们并不总是相同的),我这样做的方式(之前我实际使用过)是使用GetLastInputInfo

你可以在你的应用程序中有一个计时器并检查每个说..如果你的应用程序是活动应用程序500ms,GetLastInputInfo返回系统空闲时间低于某个阈值(5-10秒取决于你的应用程序)。只要这两个条件都成立,您就可以为应用程序的活动使用添加500毫秒。

当然,您仍然可以将总CPU使用率作为单独的统计信息进行跟踪,但我认为我的方式为您的应用程序提供了更具针对性的使用率计数器。