我有一个主页需要统计 Notepad 或 Calc 应用程序的使用频率。是否有任何 Windows API 可以让我知道 Windows 应用程序的使用频率?
问问题
600 次
3 回答
2
不会。但是您可以编写一个服务来检查内存中的应用程序并进行适当的计算。几个链接:
此外,bua 的 shell 变体是非常现成的解决方案。您只需要一些解析和更新计数器(在数据库中不需要)。
于 2009-11-03T09:10:16.127 回答
0
我不知道,但是您可以通过以下方式轻松实现:
例如:使用
cmd.exe -> 任务列表
每 10 秒涂抹一次。(不会加载 CPU) - 一个很好的解决方案是使用 python 调度程序。
import sched, time
from subprocess import *
s = sched.scheduler(time.time, time.sleep)
def get_task():
f=open("log",'wt')
p=Popen("tasklist",stdout=f)
p.terminate()
p.close()
def analise_logs():
# do some analise here
def print_some_times():
while(1):
print time.time()
s.enter(5, 1, get_tasks, ())
analise_logs()
s.run()
做一些 awk (如果你有 cygwin),或 powershell awk 之类的文件处理。
计算您感兴趣的进程。将结果写入具有更新信息的另一个文件。
于 2009-11-03T09:04:12.987 回答
0
看看我对如何停止打开应用程序的回答并使用相同的技术。本质上,当应用程序启动时,您的程序就会运行,您可以记录所需的任何信息,然后打开应用程序。
于 2009-11-03T12:44:21.387 回答