Рубрики
Без рубрики

Трешите время использования приложений Windows, используя Python.

Мы тратим много времени в играх в играх, наблюдая за фильмами, прослушиванию Spotify. Так что это становится … Помечено Python, производительность.

Мы тратим много времени в играх в играх, наблюдая за фильмами, прослушиванию Spotify. Поэтому становится важно отслеживать использование различных приложений в нашем Windows PC.

Мы узнаем, как написать сценарий Python, который может отслеживать количество времени, которое вы потратите на различные приложения для рабочего стола, такие как Vockode, Spotify, File Explorer и т. Д. Для запуска этого скрипта вам требуется версия Python 3.6 или ниже. Этот скрипт не будет работать в Python 3.7, поскольку библиотеки, которые мы будем использовать, в настоящее время не поддерживаются в Python 3.7.

Прежде всего установить библиотеки PSUTIL, PYWIN32, Win32Gui с помощью команды PIP: PIP Установка Pywin32 Win32Gui Psutil Теперь напишите следующий скрипт в редакторе кода:

from win32gui import GetForegroundWindow
import psutil
import time
import win32process

process_time={}
timestamp = {}
while True:
    current_app = psutil.Process(win32process.GetWindowThreadProcessId(GetForegroundWindow())[1]).name().replace(".exe", "")
    timestamp[current_app] = int(time.time())
    time.sleep(1)
    if current_app not in process_time.keys():
        process_time[current_app] = 0
    process_time[current_app] = process_time[current_app]+int(time.time())-timestamp[current_app]
    print(process_time)

Теперь запустите этот скрипт. Вы увидите время приложения напечатано каждую секунду на консоли. Как вы переключите между различными приложениями, время, потраченное на них, будет продолжать напечатано на консоли.

Как работает этот код? Прежде всего, мы поддерживаем два словаря: Timestamp и Process_Time Отказ В Timestamp Словарь, мы храним новейшую отметку Unix Timestamp, при котором конкретное приложение найдено в окне Active/Foregle. Название приложения и последнее время Timestamp хранятся в виде пар ключевых значений внутри этого словаря.

В Process_Time Словарь, мы храним общее время, которое приложение провело в окне активного/переднего плана. Это время, которое мы хотим отслеживать этот скрипт.

Использование линии:

current_app = psutil.Process(win32process.GetWindowThreadProcessId(GetForegroundWindow())[1]).name().replace(".exe", "")

Мы получаем имя приложения, которое в настоящее время находится на окне переднего плана. Прежде всего, мы храним временную метку этого приложения в Timestamp Словарь. Тогда, чтобы рассчитать Process_Time этого приложения. Мы вычитаем Timestamp Из этого приложения из текущего времени UNIX и добавьте этот результат к Process_Time этого приложения:

process_time[current_app] = process_time[current_app]+(int(time.time())-timestamp[current_app])

Мы также используем time.sleep () Внутри кода так, чтобы цикл While повторяется только после определенного интервала.

Вот и все! Если вы хотите, вы можете дополнительно Tinker с этим скриптом, создав все вокруг него, добавляя поддержку базы данных для постоянного хранения данных и так далее. Надеюсь, вам понравилась статья. Комментарий в случае любых сомнений. Также проверьте другие статьи на мой Блог также!

Оригинал: “https://dev.to/tkkhhaarree/track-windows-app-usage-time-using-python-h9h”