Сваки дан почињете са најбољим намерама, подмлађени, спремни да се ухватите у коштац са свим својим задацима. Онда, проверите време, 03:00 ујутру је, и не можете а да се не запитате, где је нестало све време?

Можете користити наменску апликацију за праћење времена, али оне могу бити досадно сложене. Плус, где је забава у томе?

Зашто не бисте направили сопствену једноставну мини-апликацију, која би могла да прати све прозоре на којима сте провели време током дана? Требаће вам само АутоХотКеи, основни програм за обраду текста као што је Нотепад, и око пола сата. Хајде да се заглавимо.

Шта је АутоХотКеи?

Примарна сврха АутоХотКеи-а је аутоматизација радне површине. То је скриптни језик помоћу којег можете да шаљете притиске на тастере и покрете миша у било који активни прозор, креирате интервентне тастере или мењате притиске тастера. Можете га, на пример, користити за онемогућите одређене тастере на тастатури.

Међутим, то је кратка верзија приче и није заиста репрезентативна за оно што АутоХотКеи (скраћено АХК) може да уради. То је зато што је еволуирао од своје почетне концепције и сада је комплетан скриптни језик. Можете да замислите шта можете да урадите са њим као „програмирање Лите-а“.

instagram viewer

Дакле, можете користити и АХК за креирање мини-апликација, управо попут онога што смо поставили као наш циљ за овај чланак. Имајте на уму да ћемо у овом чланку заронити директно у АХК, па бисте можда желели да проверите наш брзи АутоХотКеи водич за почетнике пре него што почнете.

Креирање сопствене скрипте за евидентирање прозора помоћу АутоХотКеи-а

Пре него што почнемо, требало би да имате инсталиран АХК на вашем рачунару пошто ће он деловати као "парсер" за вашу скрипту. То је "мотор" који ће омогућити вашој скрипти "да се покрене".

Напомена: Такође можете компајлирати своју скрипту након што је готова да бисте је претворили у стварни извршни програм. Међутим, то је ван оквира овог чланка.

Преузмите АутоХотКеи са свог званичног сајта и инсталирајте га.

Покрените свој омиљени менаџер датотека и посетите фасциклу у коју желите да сачувате своју скрипту. Затим кликните десним тастером миша на празно место и изаберите Ново > АутоХотКеи Сцрипт.

Када се то уради, време је да напишете стварни сценарио.

1. Дефинишите неопходне варијабле

Отворите скрипту у свом омиљеном уређивачу. Можете користити нешто једноставно као Нотепад који долази са Виндовс-ом, али ми ћемо га користити Нотепад++ за овај водич. Пошто је Нотепад++ бесплатан и боље прилагођен за ту сврху, вреди га испробати. Такође проверите наш крајњи водич за све његове пречице на тастатури док га провераваш.

Имајте на уму да не би требало да користите ниједну апликацију као што је Ворд или Гоогле документи, што би могло да утиче на њено форматирање. Користите или текстуални или "код" уређивач.

Скрипта ће већ садржати неке основе препоручене за компатибилност и перформансе. Оставите их онаквима какви јесу и започните свој сценарио испод њих.

Почети са:

АппЛоггингРате = 10; Временски интервал (у секундама) између активних снимака наслова прозора.
Време спавања := Стопа евидентирања апликација * 1000
ЛогПатх = %А_СцриптДир%
ЛастАцтивеВиндов =

Почињемо са додељивањем вредности „10“ АппЛоггингРате-у, коју ћемо користити да израчунамо време између снимања наслова прозора.

Када се користи са АХК-овом функцијом спавања, 1000 је отприлике једнако секунди. Дакле, множењем са АппЛогингРате, правимо променљиву СлеепТиме „једнаком са десет секунди“.

ЛогПатх је путања где желимо да ускладиштимо наше евиденције. Користимо вредност %А_СцриптДир%, што се преводи у „фасциклу из које покрећете скрипту“. Можете користити пуну путању до друге фасцикле ако желите.

Коначно, поставили смо ЛастАцтивеВиндов на празно. Ово ћемо касније користити да проверимо да ли се активни прозор променио.

2. Надгледајте активни Виндовс

Пошто желимо да континуирано пратимо који је прозор активан, и ако се промени, евидентирамо његов наслов и време, мораћемо да користимо „петљу“.

Као што му име каже, петља се одвија непрекидно, понављајући исту функцију(е). Захваљујући једноставној синтакси АХК-а, верујемо да је следећи „код“ релативно сам по себи разумљив:

Лооп
{
Спавање %СлеепТиме%
Мсгбок, ради!
}

Ми дефинишемо петљу једноставним куцањем речи „петља“, а затим означавамо њен почетак са „{“ и крај са „}“. Све у редовима између „{“ и „}“ ће радити непрекидно док не изађете из скрипте.

Почињемо петљу тако што чекамо (Слееп) време које је једнако променљивој СлеепТиме. Поставили смо је као променљиву у претходном поглављу да бисмо лакше контролисали време. Уместо да уређујете саму скрипту, можете да јој „кажете“ преко ове променљиве колико секунди свака петља треба да траје.

Коначно, користимо оквир за поруке да тестирамо нашу скрипту. Покушајте да га сачувате и покренете (двапут кликните на његову датотеку). Видећете оквир са поруком у коме пише „Ради!“ после десет секунди.

Кликните десним тастером миша на АХК икону у Виндовс траи и изађите из скрипте када будете имали довољно оквира за поруке. Затим се вратите у свој уређивач и замените ред МсгБок са:

ВинГетАцтивеТитле, АцтивеВиндов

Ово је команда за добијање наслова активног прозора. Занемарите додатну линију „СтореАцтивеВиндов“, коју смо користили док смо писали скрипту за тестирање.

3. Преузмите тренутно време и име

Сада долази суштински део логике сценарија. Желимо да упореди име активног прозора са претходним, и ако се разликује, „уради нешто“. То је једноставно као следеће:

Ако је АцтивеВиндов != %ЛастАцтивеВиндов%
{
}

Уз горенаведено, проверавамо да ли је тренутни АцтивеВиндов другачији (!=) од вредности сачуване у променљивој ЛастАцтивеВиндов (коју смо првобитно поставили на празну). Ако јесте, АХК ће извршити код између { и }, који су за сада празни.

Морамо да пратимо и датум и време да бисмо измерили колико дуго је прозор активан. Водићемо различите евиденције за сваки дан, користећи датум у њиховом имену. И желимо да евидентирамо не само сваку промену прозора већ и када то се десило. За то ћемо променљивама ЛогТиме и ЛогФиленаме доделити различите формате времена са:

ФорматТиме, ЛогТиме,, ХХ: мм: сс
ФорматТиме, ЛогФиленаме,, ииии-МММ-дд

Додајте те линије између витичастих заграда испод „Ако је активан прозор...“, да би их АХК покренуо када открије промену прозора.

4. Форматирање података

Ухватили смо време у две различито форматиране варијабле, као и наслов активног прозора. Међутим, постоји мали проблем: наслов прозора такође може да садржи знакове које не желимо. Можемо уклонити све неалфанумеричке знакове користећи АХК-ову подршку за РегЕк, са:

ЛогВиндов := Регекреплаце (АцтивеВиндов, "[^а-зА-З0-9]", " ")

Овим „кажемо“ АХК-у да уклони све знакове из променљиве АцтивеВиндов који се не поклапају са оним што је у заградама:

  • Мала слова
  • Велика слова
  • Бројеви

Затим, резултат додељујемо променљивој ЛогВиндов.

Са свим променљивим постављеним и свим вредним подацима зграбимо, спремни смо да форматирамо нашу датотеку евиденције и њен садржај.

ЛогФиленаме = %ЛогФиленаме%_АппЛог.мд
ЛогФиле = %ЛогПатх%\%ЛогФиленаме%

Претходно смо доделили тренутни датум променљивој ЛогФиленаме. Дакле, са првим редом, ми само наводимо да желимо да додамо „_АппЛог.мд“ датуму да бисмо га користили као име датотеке.

У другом реду комбинујемо променљиву ЛогПатх, коју смо на почетку дефинисали као одредиште за наше евиденције, са именом датотеке. Њихова комбинација је пуна путања дневника, додељена променљивој ЛогФиле.

Хајде да доделимо еквивалент „празна линија, време – име прозора, још две празне линије, разделник и још један празан ред, за добру меру“ променљивој ФилеЦонтент.

ФилеЦонтент = `н%ЛогТиме% - %ЛогВиндов%`н`н- - -`н
  • "`н" говори АХК-у да унесе нови ред (еквивалентно једном притиску Ентер).
  • Три цртице ће се појавити као разделник када се прикажу у прегледнику који је компатибилан са смањењем вредности.
  • „%ЛогТиме%“ и „%ЛогВиндов%“ су променљиве где смо сачували име активног прозора и време када је откривен.

5. Ажурирајте датотеку

Дефинисали смо шта желимо да упишемо у нашу датотеку и знамо њену путању и име датотеке. Све што остаје је стварно писање, које је лако као:

ФилеАппенд, %ФилеЦонтент%, %ЛогФиле%

Готово је једнако једноставно као обичан енглески: додајемо све што је у променљивој „ФилеЦонтент“ у датотеци „ЛогФиле“.

Функција „додати“ ће додати „ФилеЦонтент“ у датотеку ако постоји, али ће је такође креирати од нуле ако не постоји.

Али сачекајте, постоји још једно подешавање: замена садржаја променљиве ЛастАцтивеВиндов са тренутно активним прозором.

Са овим, скрипта ће моћи да открије следећи промена прозора.

ЛастАцтивеВиндов = %АцтивеВиндов%

И са овим последњим додатком, ваш прозор за бележење је спреман! Сачувајте га и покрените. Затим погледајте датотеку маркдовн, која ће се појавити у фасцикли ваше датотеке скрипте након десет секунди.

Овладајте својим временом

Датотеку евиденције можете отворити било којим уређивачем текста. Ипак, изгледаће лепше ако га отворите у уређивачу компатибилном са маркдовн. На снимку екрана можете видети наш дневник у популарном уређивачу Типора.

То је једноставан начин да проверите на које сте апликације потрошили највише времена, а за коришћење вам је потребно само нешто попут Нотепад-а.

Ако желите нешто „више“, увек можете „стилизирати“ излаз свог дневника да бисте уместо тога произвели ЦСВ датотеке. То је једноставно као подешавање променљиве ФилеЦонтент и екстензије креиране датотеке. Затим бисте могли да увезете такве датотеке у апликације као што су Екцел, Гоогле Цалц, или чак независни уређаји за праћење времена.

Комплетна скрипта:

#НоЕнв; Препоручује се за перформансе и компатибилност са будућим АутоХоткеи издањима.
; #Варн; Омогућите упозорења да бисте помогли у откривању уобичајених грешака.
СендМоде Инпут; Препоручује се за нове скрипте због своје супериорне брзине и поузданости.
СетВоркингДир %А_СцриптДир%; Осигурава конзистентан почетни директориј.
; Променљиве
;
АппЛоггингРате = 10; Временски интервал (у секундама) између активних снимака наслова прозора.
Време спавања := Стопа евидентирања апликација * 1000
ЛогПатх = %А_СцриптДир%
ЛастАцтивеВиндов =
; Логика
;
Лооп
{
Спавање %СлеепТиме%
ВинГетАцтивеТитле, АцтивеВиндов
СтореАцтивеВиндов = %АцтивеВиндов%
Ако је АцтивеВиндов != %ЛастАцтивеВиндов%
{
ФорматТиме, ЛогТиме,, ХХ: мм: сс
ФорматТиме, ЛогФиленаме,, гггг-ММ-дд
ЛогВиндов := Регекреплаце (АцтивеВиндов, "[^а-зА-З0-9]", " ")
ЛогФиленаме = %ЛогФиленаме%_АппЛог.мд
ЛогФиле = %ЛогПатх%\%ЛогФиленаме%
ФилеЦонтент = `н%ЛогТиме% - %ЛогВиндов%`н`н- - -`н
спавати 50
ФилеАппенд, %ФилеЦонтент%, %ЛогФиле%
ЛастАцтивеВиндов = %АцтивеВиндов%
}
}
Изађи
10 цоол АутоХоткеи скрипти (и како да направите своје!)

АутоХоткеи вам омогућава да направите прилагођене Виндовс пречице, макрое и још много тога! Ево неколико корисних АутоХоткеи скрипти за почетак.

Реад Нект

ОбјавиТвеетЕмаил
Повезане теме
  • Виндовс
  • Продуктивност
  • Виндовс
  • АутоХоткеи
  • Управљање временом
  • Трикови за продуктивност
О аутору
Одиссеас Коурафалос (Објављено 12 чланака)

ОК-ов прави живот је почео око 10, када је добио свој први рачунар - Цоммодоре 128. Од тада је топио тастере тако што је куцао 24/7, покушавајући да прошири Тхе Ворд Оф Тецх свима који су довољно заинтересовани да слушају. Или, боље речено, прочитајте.

Више од Одиссеас Коурафалос

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили