Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Începeți munca în fiecare zi devreme, astfel încât să puteți rezolva totul în timpul zilei. Apoi verifici ceasul și este 3 dimineața, dar munca ta încă nu este terminată. Deci unde s-a dus timpul?

Puteți folosi o aplicație dedicată de urmărire a timpului, dar acestea pot fi complicate și frustrante. În schimb, de ce să nu îți creezi propria aplicație simplă? Această aplicație poate urmări toate ferestrele pe care le-ați folosit în timpul zilei. Ai nevoie doar de AutoHotKey, un procesor de text de bază precum Notepad și aproximativ jumătate de oră. Să începem!

Creați-vă propriul script de înregistrare Windows cu AutoHotKey

Înainte de a începe, ar trebui să instalați AHK pe computer, deoarece va acționa ca un „parser” pentru script. Este instrumentul care va permite script-ului să „ruleze”.

Notă : De asemenea, puteți compila scriptul după finalizare pentru a-l transforma într-un program executabil real. Cu toate acestea, acest lucru depășește domeniul de aplicare al acestui articol.

Descărcați AutoHotKey de pe site-ul oficial și instalați-l.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Selectați Nou > Script AutoHotKey

Porniți managerul de fișiere preferat și accesați folderul în care doriți să stocați scriptul. Apoi, faceți clic dreapta pe o locație goală și selectați Nou > Script AutoHotKey .

Odată finalizat, este timpul să scrieți scenariul propriu-zis.

1. Identificați variabilele necesare

Deschideți scriptul în editorul dvs. preferat. Puteți folosi ceva simplu, cum ar fi Notepad, care vine cu Windows, dar articolul va folosi Notepad++  pentru acest tutorial. Notepad++ este gratuit și mai bine adaptat în acest scop, așa că ar trebui să îl încercați.

Rețineți că nu trebuie să utilizați aplicații precum Word sau Google Docs, care pot afecta formatarea scriptului. Utilizați un editor de text sau cod.

Scriptul va conține câteva informații de bază recomandate despre compatibilitate și performanță. Lăsați-le așa cum sunt și începeți scenariul de mai jos.

Incepe cu:

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

Începeți prin a atribui valoarea „10” la AppLoggingRate , care va fi folosită pentru a calcula timpul dintre încercările de înregistrare în fereastră.

Când este utilizat cu funcția Sleep a AHK, 1000 este aproximativ egal cu o secundă. Deci, înmulțind-o cu AppLogingRate , veți face ca variabila SleepTime să fie „egale cu 10 secunde”.

LogPath este calea folosită pentru a stoca jurnalele. Exemplul folosește valoarea %A_ScriptDir% , care se traduce prin „directorul de unde rulați scriptul”. Puteți utiliza calea completă către alt folder dacă doriți.

În cele din urmă, setați LastActiveWindow să se golească și utilizați mai târziu pentru a verifica dacă fereastra activă s-a schimbat.

2. Monitorizați ferestrele active

Deoarece dorim să monitorizăm continuu ce fereastră este activă și dacă se schimbă, înregistrăm titlul și ora, va trebui să folosim o „buclă”.

După cum sugerează și numele, o buclă rulează continuu, repetând aceleași funcții. Datorită sintaxei simple a lui AHK, următorul „cod” este relativ ușor de înțeles:

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

Definiți o buclă tastând pur și simplu cuvântul „buclă” și apoi marcandu-i începutul cu „{” și se termină cu „}”. Tot ce se află în rândurile dintre „{” și „}” va rula pentru totdeauna până când ieși din script.

Începeți bucla așteptând ( Sleep ) o perioadă de timp egală cu variabila SleepTime. Această variabilă face controlul timpului mai simplu. În loc să editați singur scriptul, îi puteți „spune”, prin intermediul acestei variabile, câte secunde ar trebui să dureze fiecare buclă.

În cele din urmă, utilizați Message Box pentru a testa scriptul. Încercați să îl salvați și să îl rulați (dați dublu clic pe fișierul script). Veți vedea o casetă de mesaj care spune „Funcționează!” (scriptul funcționează) după 10 secunde.

Faceți clic dreapta pe pictograma AHK din tava Windows și ieșiți din script când aveți suficiente casete de mesaje. Apoi reveniți la editor și înlocuiți linia MsgBox cu:

WinGetActiveTitle, ActiveWindow

Aceasta este comanda pentru a obține titlul ferestrei active. Omiteți linia suplimentară „StoreActiveWindow” folosită de exemplu în timpul scripturilor pentru testare.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Obțineți titlul ferestrei active și stocați-l într-o variabilă

3. Obțineți ora și numele curente

Acum vine nucleul logicii scriptului. Comparați numele ferestrei active cu cel precedent și, dacă diferă, „fă ceva”. Totul este la fel de simplu ca acesta:

If ActiveWindow != %LastActiveWindow%
{
}

Având în vedere cele de mai sus, verificați dacă ActiveWindow curent este diferit ( != ) de valoarea stocată în variabila LastActiveWindow (care a fost setată inițial la gol). Dacă da, AHK va executa codul între { și } , care este în prezent gol.

Setați funcția pentru a compara titlul ferestrei active și al ferestrei anterioare

Este necesar să urmăriți atât data, cât și ora pentru a măsura timpul de funcționare al unei ferestre. Se vor păstra jurnalele diferite pentru fiecare zi, folosind data în numele lor. Nu numai fiecare schimbare, ci și timpul în care aceasta are loc va fi înregistrată. Pentru a face acest lucru, atribuiți diferite formate de timp variabilelor LogTime și LogFilename , cu:

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

Adăugați acele linii între acolade în „Dacă ActiveWindow...” , astfel încât AHK să le execute atunci când detectează o schimbare a ferestrei.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Obțineți ora curentă și atribuiți-o în două variabile de formate diferite

4. Formatul datelor

Acum surprindem ora în două variabile formatate diferit, precum și titlul ferestrei active. Cu toate acestea, există o mică problemă: titlul ferestrei poate conține și caractere nedorite. Este posibil să eliminați toate caracterele non-alfanumerice folosind suportul AHK pentru RegEx, cu:

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

Având în vedere acest lucru, să îi „cerem” lui AHK să elimine toate caracterele din variabila ActiveWindow care nu se potrivesc cu ceea ce este între paranteze:

  • Litere mici
  • Majusculă
  • Numerele

Apoi, atribuiți rezultatul variabilei LogWindow.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Curățați titlul ferestrei active cu RegEx

Cu toate variabilele setate și cu toate datele valoroase colectate, acum sunteți gata să formatați fișierul jurnal și conținutul acestuia.

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

Anterior, am atribuit data curentă variabilei LogFilename. Prin urmare, pentru prima linie, adăugați „_AppLog.md” la dată pentru a o folosi ca nume de fișier.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Setați numele fișierului jurnal

În a doua linie, combinați variabila LogPath , definită la început ca destinație pentru fișierul jurnal împreună cu numele fișierului. Combinația lor este calea completă a fișierului jurnal, atribuită variabilei LogFile.

Să atribuim valoarea echivalentă a „liniei goale, Timp – Numele ferestrei, încă două linii goale, un divizor și o altă linie goală, pentru o măsură bună” variabilei FileContent.

FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
  • Litera „n” îi spune lui AHK să introducă o nouă linie (echivalent cu apăsarea Enter o dată).
  • Trei liniuțe vor apărea ca un separator atunci când sunt afișate într-un vizualizator compatibil încrucișat.
  • „% LogTime%” și „% LogWindow%” sunt variabile care au stocat numele ferestrei active și ora la care a fost detectată.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Determină conținutul fișierului jurnal

5. Actualizați fișierele

Ați definit ce vrem să scriem în fișier, precum și calea și numele fișierului. Tot ce rămâne este textul real, simplu, după cum urmează:

FileAppend, %FileContent%, %LogFile%

Adăugați totul din variabila „FileContent” la fișierul „LogFile”.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Utilizați funcția Adăugați AHK pentru a actualiza fișierul jurnal sau pentru a crea unul de la zero

Funcția „adăugați” va adăuga „FileContent” la fișier dacă acesta există, dar îl va crea și de la zero dacă fișierul nu există.

Există o ultimă modificare: înlocuiți conținutul variabilei LastActiveWindow cu fereastra activă în prezent.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Inserează titlul ferestrei active curente în variabila LastActiveWindow pentru teste viitoare

Pentru a face acest lucru, scriptul ar trebui să poată detecta următoarea modificare a ferestrei.

LastActiveWindow = %ActiveWindow%

Și cu această ultimă adăugare, Windows logger este gata! Salvați scriptul și rulați-l. Apoi, verificați fișierul markdown, acest fișier va apărea în folderul fișierului script după 10 secunde.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Fișierul jurnal Windows este creat în același director ca și scriptul

Preia controlul asupra timpului tău

Puteți deschide fișierul jurnal cu orice editor de text. Cu toate acestea, va arăta mai bine dacă îl deschideți într-un editor compatibil cu markdown. În captură de ecran puteți vedea jurnalul în editorul popular Typora.

Cum să creați o aplicație de urmărire a timpului pe Windows cu AutoHotKey

Fișierul markdown generat de script este încărcat în Typora

Este o modalitate simplă de a verifica ce aplicații ați folosit cel mai mult timp și necesită doar un instrument precum Notepad.

Dacă doriți ceva „mai special”, puteți oricând să „stilați” rezultatul loggerului pentru a crea în schimb un fișier CSV. Este la fel de ușor ca ajustarea variabilei FileContent și a extensiei fișierului creat. Apoi, puteți importa astfel de fișiere în aplicații precum Excel, Google Calc sau chiar instrumente de urmărire a timpului terță parte.

Scenariul complet

#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

Lasă un comentariu

Cum să eliminați notificarea de solicitare a drepturilor de autor din colțul din dreapta al ecranului pe Windows 10

Cum să eliminați notificarea de solicitare a drepturilor de autor din colțul din dreapta al ecranului pe Windows 10

Vedeți o notificare de activare a Windows 10 în colțul din dreapta al ecranului? Acest articol vă va ghida cum să ștergeți notificarea de solicitare a drepturilor de autor pe Windows 10.

Instrucțiuni de la AZ despre cum să instalați Windows 10 build 14393.222

Instrucțiuni de la AZ despre cum să instalați Windows 10 build 14393.222

Recent, Microsoft a lansat cea mai recentă actualizare cumulativă pentru utilizatorii de PC Windows 10 numită Build 14393.222. Această actualizare lansată pentru Windows 10 remediază în principal erorile pe baza feedback-ului utilizatorilor și îmbunătățește experiența de performanță a sistemului de operare.

Protejați-vă rețeaua de computere cu gazda Bastion în doar 3 pași

Protejați-vă rețeaua de computere cu gazda Bastion în doar 3 pași

Aveți computere în rețeaua locală care au nevoie de acces extern? Utilizarea unei gazde bastion ca gatekeeper pentru rețeaua dvs. poate fi o soluție bună.

3 moduri de a șterge rapid toate jurnalele de evenimente în Windows 10

3 moduri de a șterge rapid toate jurnalele de evenimente în Windows 10

Uneori, poate fi necesar să ștergeți jurnalele vechi de evenimente dintr-o dată. În acest ghid, Quantrimang.com vă va arăta 3 moduri de a șterge rapid toate jurnalele de evenimente din Windows 10 Event Viewer.

Cum să creați o tastă Windows dacă tastatura nu este disponibilă

Cum să creați o tastă Windows dacă tastatura nu este disponibilă

Dacă preferați să utilizați o tastatură clasică veche, cum ar fi IBM Model M, care nu include o tastă fizică Windows, există o metodă ușoară de a adăuga mai multe, împrumutând o tastă pe care nu o utilizați des.

Cum se creează un mod de fundal transparent pe Windows 10

Cum se creează un mod de fundal transparent pe Windows 10

WindowTop este un instrument care are capacitatea de a estompa toate ferestrele aplicațiilor și programele care rulează pe computere cu Windows 10. Sau puteți utiliza o interfață cu fundal întunecat pe Windows.

Metodele IP false vă ajută să accesați anonim

Metodele IP false vă ajută să accesați anonim

În multe articole anterioare, am menționat că păstrarea anonimatului online este extrem de importantă. Informații private sunt scurse în fiecare an, ceea ce face securitatea online din ce în ce mai necesară. Acesta este și motivul pentru care ar trebui să folosim adrese IP virtuale. Mai jos, vom afla despre metodele de a crea IP-uri false!

Cum să dezactivați bara de limbă pe bara de activități Windows 8

Cum să dezactivați bara de limbă pe bara de activități Windows 8

Bara de limbă din Windows 8 este o bară de instrumente de limbă în miniatură concepută pentru a fi afișată automat pe ecranul desktop. Cu toate acestea, mulți oameni doresc să ascundă această bară de limbă în bara de activități.

Sfaturi pentru a optimiza viteza conexiunii la Internet de la Linksys

Sfaturi pentru a optimiza viteza conexiunii la Internet de la Linksys

Maximizarea vitezei de internet este esențială pentru optimizarea conexiunii la rețea. Puteți avea o experiență optimă de divertisment și de lucru folosind computere, televizoare gata de internet, console de jocuri etc.

Cum se configurează WEP, WPA, WPA2 pentru routerul Linksys

Cum se configurează WEP, WPA, WPA2 pentru routerul Linksys

Conectivitatea wireless este o necesitate astăzi și, din această cauză, securitatea wireless este esențială pentru a asigura siguranța în rețeaua dumneavoastră internă.