У меня есть домашняя страница, чтобы подсчитать частоту использования приложения «Блокнот» или «Calc». Есть ли какой-либо Windows API, который я могу узнать о частоте использования приложения Windows?Частота использования приложения Windows
ответ
Нет. Но вы можете написать службу, которая будет проверять приложения в памяти и выполнять соответствующие вычисления. Немного ссылок:
Кроме того, вариант оболочки из Буа вполне готовое решение. Вам просто нужен синтаксический анализ и обновление счетчика (не обязательно в базе данных).
Я не знаю об одном, но Вы можете довольно легко достичь,:
например: использованием
cmd.exe -> Tasklist
применять каждый 10 сек. (который не загружал бы процессор) - одно из лучших решений - использовать планировщик 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 как обработка на этом файле.
Подсчитайте процессы, которые вас интересуют. Запишите результат в другой файл с обновленной информацией.
Взгляните на мой ответ How Do I Stop An Application From Opening и используйте ту же технику. По сути, когда приложение запускается, ваша программа запускается, и вы можете записывать любую необходимую информацию, а затем открывать приложение.