【问题标题】:Track used applications跟踪使用过的应用程序
【发布时间】:2009-01-06 18:34:34
【问题描述】:

我最近一直在使用Wakoopa,我觉得它很有趣。

在此之前我不知道(我有一个想法,但从未获得有关它的真实数据)我在 SO 上花了多少时间:

alt text http://img396.imageshack.us/img396/4699/wakoopaim1.png

所以我的编程问题是:

如何以编程方式跟踪正在使用的应用程序?

虽然我最初是使用“tasklist”命令和“netstat”之类的东西,并且每 15 分钟使用一次池或类似的东西,但我认为这不是他们这样做的方式。

.NET 中是否有一个库(我猜是 C# 中的)来执行此操作? Windows是否提供这样的某种服务? java呢?

对于如何执行某些编程任务,我通常至少有一些模糊的想法,但对此我一无所知。

wakoopa 应用跟踪器也适用于 OSX 和 Linux,但我很清楚它们是三个不同的应用,每个平台一个

顺便说一句,你用了多少 SO? :)

【问题讨论】:

  • 他们如何定义“使用”SO?他们是否意味着我的浏览器选项卡之一显示它,或者它是当前可见的浏览器选项卡,或者该浏览器选项卡实际上具有输入焦点,或者我实际上正在输入该选项卡?因为对于每个选项,您会得到非常不同的答案。
  • 是的,这很有趣。据我所知,他们测量标签打开的时间,不一定要处理它。你有什么想法吗?
  • 如果我使用 Windows,我可能会尝试一下,但只有在计算机上我才能擦除并在完成后重新安装。然后我可以看到 SO 是一天 24 小时(标签打开)、一天 12 小时(标签可见)还是 6 小时(标签有焦点)......
  • 它将很快为 Linux 做好准备。您将如何在 linux/unix 中执行此操作? ps -feax? ...或者类似的东西?
  • 在我在下面链接的 PROCPS 网站上查看顶部的来源。

标签: c# java process monitoring task-tracking


【解决方案1】:

这里是一篇文章的链接,该文章的来源涵盖了流程结构例程 API Detecting Windows NT/2K process execution。我认为 SysInternals 站点有 Process Monitor 的源,但我没有看到任何源。这篇文章应该为您指明 Windows 系统的正确方向。

这是一个可能对 Linux 系统有帮助的链接PROCPS

这里是一个 java swing top 实用程序的链接Monitor 它使用 JNI,所以不确定它是否真的适合作为 java 解决方案。

为了回答 SO 问题,我只定期访问该网站。如果我经常访问,我发现我在上面花费了太多时间。

【讨论】:

    【解决方案2】:

    熟悉 Visual Studio 中的 Server Explorer - 查看“进程”下的内容。 然后阅读PerformanceCounter 课程。

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 2016-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多