Как создать приложение для учета времени в Windows с помощью AutoHotKey

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Вы начинаете работу каждый день рано, чтобы успеть решить все в течение дня. Затем вы смотрите на часы и видите, что сейчас 3 часа ночи, но ваша работа еще не закончена. Так куда же ушло время?

Вы можете использовать специальное приложение для отслеживания времени, но это может быть сложно и утомительно. Вместо этого, почему бы не создать собственное простое маленькое приложение? Это приложение может отслеживать все окна, которые вы использовали в течение дня. Вам просто понадобится AutoHotKey, базовый текстовый процессор, такой как Блокнот, и около получаса. Давайте начнем!

Создайте свой собственный сценарий ведения журнала Windows с помощью AutoHotKey.

Перед началом вам следует установить AHK на свой компьютер, поскольку он будет выполнять роль «парсера» сценария. Это инструмент, который позволит вашему скрипту «запуститься».

Примечание . Вы также можете скомпилировать сценарий после завершения, чтобы превратить его в настоящую исполняемую программу. Однако это выходит за рамки данной статьи.

Загрузите AutoHotKey с официального сайта и установите его.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Выберите «Создать» > «Скрипт AutoHotKey».

Запустите свой любимый файловый менеджер и получите доступ к папке, в которой вы хотите сохранить скрипт. Затем щелкните правой кнопкой мыши пустое место и выберите « Создать» > «Скрипт AutoHotKey» .

После завершения пришло время написать настоящий сценарий.

1. Определите необходимые переменные

Откройте скрипт в вашем любимом редакторе. Вы можете использовать что-нибудь простое, например Блокнот, входящий в состав Windows, но в статье для этого руководства будет использоваться Notepad++  . Notepad++ бесплатен и лучше приспособлен для этой цели, поэтому вам стоит его попробовать.

Обратите внимание, что вам не следует использовать какие-либо приложения, такие как Word или Google Docs, которые могут повлиять на форматирование сценария. Используйте текстовый редактор или редактор кода.

Сценарий будет содержать некоторую базовую рекомендуемую информацию о совместимости и производительности. Оставьте их как есть и запустите скрипт ниже.

Начинается с:

AppLoggingRate = 10 ; Time interval (in seconds) between active window title captures.
SleepTime := AppLoggingRate * 1000
LogPath = %A_ScriptDir%
LastActiveWindow =

Начните с присвоения значения «10» AppLoggingRate , которое будет использоваться для расчета времени между попытками регистрации окна .

При использовании с функцией сна AHK 1000 примерно равно одной секунде. Таким образом, умножив его на AppLogingRate , вы сделаете переменную SleepTime «равной 10 секундам».

LogPath — это путь, используемый для хранения журналов. В примере используется значение %A_ScriptDir% , которое переводится как «каталог, из которого вы запускаете скрипт». Если хотите, вы можете использовать полный путь к другой папке.

Наконец, установите LastActiveWindow пустым и используйте его позже, чтобы проверить, изменилось ли активное окно.

2. Мониторинг активных окон

Поскольку мы хотим постоянно отслеживать, какое окно активно, и в случае его изменения записывать заголовок и время, нам придется использовать «цикл».

Как следует из названия, цикл выполняется непрерывно, повторяя одну и ту же функцию(и). Благодаря простому синтаксису AHK следующий «код» относительно легко понять:

Loop
{
    Sleep %SleepTime%
    Msgbox, It Works!
}

Определите цикл, просто набрав слово «loop», а затем отметив его начало «{» и окончание «}». Все, что находится в строках между «{» и «}», будет выполняться вечно, пока вы не выйдете из сценария.

Запустите цикл, ожидая ( Sleep ) в течение времени, равного переменной SleepTime. Эта переменная упрощает контроль времени. Вместо того, чтобы редактировать скрипт самостоятельно, вы можете «сообщить» ему через эту переменную, сколько секунд должен длиться каждый цикл.

Наконец, используйте окно сообщений для проверки сценария. Попробуйте сохранить и запустить его (дважды щелкните файл сценария). Вы увидите окно сообщения с надписью «Это работает!» (скрипт работает) через 10 секунд.

Щелкните правой кнопкой мыши значок AHK на панели задач Windows и выйдите из сценария, когда у вас будет достаточно окон сообщений. Затем вернитесь в редактор и замените строку MsgBox на:

WinGetActiveTitle, ActiveWindow

Это команда для получения заголовка активного окна. Опустите лишнюю строку StoreActiveWindow , которая использовалась в примере при написании сценария для тестирования.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Получите заголовок активного окна и сохраните его в переменной.

3. Получить текущее время и имя

Теперь поговорим о сути логики сценария. Сравните имя активного окна с предыдущим и, если они отличаются, «сделайте что-нибудь». Все так просто:

If ActiveWindow != %LastActiveWindow%
{
}

Учитывая вышеизложенное, проверьте, отличается ли текущий ActiveWindow ( != ) от значения, хранящегося в переменной LastActiveWindow (которая изначально была установлена ​​пустой). Если это так, AHK выполнит код между { и } , который в настоящее время пуст.

Установите функцию для сравнения заголовка активного окна и предыдущего окна.

Чтобы измерить время безотказной работы окна, необходимо отслеживать дату и время. Будут сохранены разные журналы за каждый день, в названии которых указана дата. Также будет записано не только каждое изменение, но и время, когда оно произошло. Для этого присвойте переменным LogTime и LogFilename разные форматы времени :

FormatTime, LogTime,, HH:mm:ss
FormatTime, LogFilename,, yyyy-MMM-dd

Добавьте эти строки между фигурными скобками в «If ActiveWindow...» , чтобы AHK запускал их при обнаружении изменения окна.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Получите текущее время и присвойте его двум переменным разных форматов.

4. Формат данных

Теперь мы фиксируем время в двух переменных разного формата, а также заголовок активного окна. Однако есть небольшая проблема: заголовок окна также может содержать нежелательные символы. Можно удалить все небуквенно-цифровые символы, используя поддержку AHK для RegEx, с помощью:

LogWindow := Regexreplace(ActiveWindow, "[^a-zA-Z0-9]", " ")

Имея это в виду, давайте «попросим» AHK удалить из переменной ActiveWindow все символы, которые не соответствуют тем, что указаны в скобках:

  • строчные буквы
  • Прописная буква
  • Числа

Затем присвойте результат переменной LogWindow.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Очистите заголовок активного окна с помощью RegEx.

Теперь, когда все заданы переменные и собраны все ценные данные, вы готовы отформатировать файл журнала и его содержимое.

LogFilename = %LogFilename%_AppLog.md
LogFile = %LogPath%\%LogFilename%

Ранее мы присвоили текущую дату переменной LogFilename. Поэтому в первой строке добавьте к дате «_AppLog.md» , чтобы использовать ее в качестве имени файла.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Установите имя файла журнала

Во второй строке объедините переменную LogPath , определенную вначале как место назначения файла журнала, с именем файла. Их комбинация представляет собой полный путь к файлу журнала, присвоенный переменной LogFile.

Давайте присвоим эквивалентное значение «пустая строка, время — имя окна, еще две пустые строки, разделитель и еще одна пустая строка, для наглядности» переменной FileContent.

FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
  • Буква «n» указывает AHK ввести новую строку (эквивалентно однократному нажатии Enter ).
  • Три тире будут отображаться в качестве разделителя при отображении в средстве просмотра, совместимом с перекрестным расположением элементов.
  • «% LogTime%» и «% LogWindow%» — это переменные, в которых хранится имя активного окна и время его обнаружения.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Определяет содержимое файла журнала

5. Обновить файлы

Вы определили, что мы хотим записать в файл, а также его путь и имя файла. Все, что остается, это фактический простой текст следующего содержания:

FileAppend, %FileContent%, %LogFile%

Добавьте все, что есть в переменной FileContent, в файл LogFile.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Используйте функцию добавления AHK, чтобы обновить файл журнала или создать его с нуля.

Функция «append» добавит «FileContent» к файлу, если он существует, но также создаст его с нуля, если файл не существует.

Есть еще одна последняя настройка: замените содержимое переменной LastActiveWindow на активное в данный момент окно.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Вставляет заголовок текущего активного окна в переменную LastActiveWindow для будущего тестирования.

Для этого сценарий должен иметь возможность обнаружить следующее изменение окна.

LastActiveWindow = %ActiveWindow%

И с этим последним дополнением программа регистрации Windows готова! Сохраните скрипт и запустите его. Затем проверьте файл уценки, этот файл появится в папке файла сценария через 10 секунд.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Файл журнала Windows создается в том же каталоге, что и скрипт.

Возьмите под контроль свое время

Вы можете открыть файл журнала в любом текстовом редакторе. Однако он будет выглядеть лучше, если вы откроете его в редакторе, совместимом с уценкой. На скриншоте вы можете увидеть лог популярного редактора Typora.

Как создать приложение для учета времени в Windows с помощью AutoHotKey

Файл уценки, созданный сценарием, загружается в Typora.

Это простой способ проверить, какие приложения вы используете больше всего времени, и для его использования требуется только такой инструмент, как «Блокнот».

Если вам нужно что-то «более особенное», вы всегда можете «стилизовать» вывод регистратора, чтобы вместо этого создать файл CSV. Это так же просто, как настроить переменную FileContent и расширение созданного файла. Затем вы можете импортировать такие файлы в такие приложения, как Excel, Google Calc или даже в сторонние программы отслеживания времени.

Полный сценарий

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
; Variables
; ---------
AppLoggingRate = 10 ; Time interval (in seconds) between active window title captures.
SleepTime := AppLoggingRate * 1000
LogPath = %A_ScriptDir%
LastActiveWindow = 
; Logic
; -----
Loop
{
	Sleep %SleepTime%
	
	WinGetActiveTitle, ActiveWindow
	StoreActiveWindow = %ActiveWindow%
	
	If ActiveWindow != %LastActiveWindow%
	{
		FormatTime, LogTime,, HH:mm:ss
		FormatTime, LogFilename, , yyyy-MM-dd
		
		LogWindow := Regexreplace(ActiveWindow, "[^a-zA-Z0-9]", " ")
		
		LogFilename = %LogFilename%_AppLog.md
		LogFile = %LogPath%\%LogFilename%
		
		FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
		
		sleep 50
		
		FileAppend, %FileContent%, %LogFile%
		LastActiveWindow = %ActiveWindow%
	}
}
Exit

По этой причине ваш компьютер становится все медленнее и медленнее.

По этой причине ваш компьютер становится все медленнее и медленнее.

Кэш — это данные предыдущих сеансов приложений и программ, которые операционная система сохраняет, чтобы ускорить загрузку данных в последующих сеансах. Однако после длительного отсутствия очистки кеш заполнит ваш жесткий диск и займет все место на нем.

Как узнать, что занимает много места в Windows 10

Как узнать, что занимает много места в Windows 10

В этой статье Quantrimang расскажет вам, как узнать, какие типы файлов занимают много места на вашем компьютере с Windows 10.

Как полностью удалить панель инструментов Yahoo и поиск. йаху. ком?

Как полностью удалить панель инструментов Yahoo и поиск. йаху. ком?

Yahoo Search — это законная поисковая система. Однако его также считают угонщиком браузера, перенаправляющим пользователей на поиск. йаху. ком. Этот угонщик браузера захватит домашнюю страницу веб-браузера и настройки поисковой системы, чтобы отобразить домашнюю страницу Yahoo Search и поисковую систему вместо домашней страницы и поисковой системы, которые вы ранее настроили.

Узнайте о функции «Завершить задачу» в Windows.

Узнайте о функции «Завершить задачу» в Windows.

Завершить задачу — это функция диспетчера задач Microsoft Windows. Он расположен на вкладке «Приложения» и позволяет пользователям закрывать любую отвечающую или не отвечающую программу.

Windows + V: полезный ярлык, о котором многие пользователи Windows не знают.

Windows + V: полезный ярлык, о котором многие пользователи Windows не знают.

Как и на многих других платформах, в Windows также имеется специализированный менеджер буфера обмена, который называется «История буфера обмена».

Как установить виджет macOS Big Sur/iOS 14 на Windows 10

Как установить виджет macOS Big Sur/iOS 14 на Windows 10

Версия Big Sur для macOS была официально анонсирована на недавней конференции WWDC. И вы можете полностью перенести интерфейс macOS Big Sur на Windows 10 с помощью инструмента Rainmeter.

Как защитить удаленный рабочий стол от вредоносного ПО RDStealer

Как защитить удаленный рабочий стол от вредоносного ПО RDStealer

RDStealer — это вредоносное ПО, которое пытается украсть учетные данные и данные путем заражения RDP-сервера и мониторинга его удаленных подключений.

7 лучших программ для управления файлами для Windows, которые заменят Проводник

7 лучших программ для управления файлами для Windows, которые заменят Проводник

Может быть, пришло время попрощаться с Проводником и использовать стороннее программное обеспечение для управления файлами? Вот 7 лучших альтернатив Windows File Explorer.

Как работает LoRaWAN? Почему это важно для Интернета вещей?

Как работает LoRaWAN? Почему это важно для Интернета вещей?

LoRaWAN или беспроводная сеть дальнего действия полезна для связи между маломощными устройствами на больших расстояниях.

8 способов открыть дополнительные параметры запуска в Windows 10

8 способов открыть дополнительные параметры запуска в Windows 10

Перейдя к «Дополнительным параметрам запуска», вы можете сбросить Windows 10, восстановить Windows 10, восстановить Windows 10 из файла образа, который вы создали ранее, исправить ошибки запуска, открыть командную строку для выполнения параметров, выбрать другие, открыть настройки UEFI, изменить настройки запуска. ..