Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Jūs katru dienu sākat darbu agri, lai visu varētu atrisināt dienas laikā. Pēc tam jūs pārbaudāt pulksteni un ir 3:00, bet jūsu darbs joprojām nav paveikts. Tātad, kur pazudis laiks?

Varat izmantot īpašu laika uzskaites lietotni, taču tās var būt sarežģītas un nomāktas. Tā vietā, kāpēc gan neizveidot savu vienkāršo lietotni? Šī lietojumprogramma var izsekot visiem logiem, kurus esat izmantojis dienas laikā. Jums vienkārši nepieciešams AutoHotKey, pamata tekstapstrāde, piemēram, Notepad, un apmēram pusstunda. Sāksim!

Izveidojiet savu Windows reģistrēšanas skriptu, izmantojot AutoHotKey

Pirms darba sākšanas datorā jāinstalē AHK, jo tas darbosies kā skripta "parsētājs". Tas ir rīks, kas ļaus jūsu skriptam "palaist".

Piezīme . Varat arī kompilēt skriptu pēc pabeigšanas, lai pārvērstu to par īstu izpildāmu programmu. Tomēr tas ir ārpus šī raksta darbības jomas.

Lejupielādējiet AutoHotKey no oficiālās vietnes un instalējiet to.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Atlasiet Jauns > AutoHotKey skripts

Ieslēdziet savu iecienītāko failu pārvaldnieku un piekļūstiet mapei, kurā vēlaties saglabāt skriptu. Pēc tam ar peles labo pogu noklikšķiniet uz tukšas vietas un atlasiet Jauns > AutoHotKey skripts .

Kad tas ir pabeigts, ir pienācis laiks rakstīt faktisko skriptu.

1. Identificējiet nepieciešamos mainīgos

Atveriet skriptu savā iecienītākajā redaktorā. Varat izmantot kaut ko vienkāršu, piemēram, Notepad, kas ir iekļauts sistēmā Windows, taču rakstā  šai apmācībai tiks izmantots Notepad++ . Notepad++ ir bezmaksas un labāk pielāgots šim nolūkam, tāpēc jums vajadzētu to izmēģināt.

Ņemiet vērā, ka nevajadzētu izmantot tādas lietojumprogrammas kā Word vai Google dokumenti, kas var ietekmēt skripta formatējumu. Izmantojiet teksta vai koda redaktoru.

Skriptā būs ietverta ieteicamā pamatinformācija par saderību un veiktspēju. Atstājiet tos tādus, kādi tie ir, un sāciet tālāk norādīto skriptu.

Sākas ar:

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

Sāciet , piešķirot AppLoggingRate vērtību “ 10” , kas tiks izmantota, lai aprēķinātu laiku starp logu reģistrēšanas mēģinājumiem.

Lietojot ar AHK miega funkciju, 1000 ir aptuveni vienāds ar vienu sekundi. Tātad, reizinot to ar AppLogingRate, jūs padarīsit SleepTime mainīgo "vienādu ar 10 sekundēm".

LogPath ir ceļš, ko izmanto žurnālu glabāšanai. Piemērā tiek izmantota vērtība %A_ScriptDir% , kas nozīmē "direktorijs, no kura palaižat skriptu". Ja vēlaties, varat izmantot pilnu ceļu uz citu mapi.

Visbeidzot iestatiet LastActiveWindow uz tukšu un izmantojiet vēlāk, lai pārbaudītu, vai aktīvais logs ir mainījies.

2. Pārraugiet aktīvos logus

Tā kā mēs vēlamies nepārtraukti uzraudzīt, kurš logs ir aktīvs un, ja tas mainās, ierakstīt nosaukumu un laiku, mums būs jāizmanto “cilpa”.

Kā norāda nosaukums, cilpa darbojas nepārtraukti, atkārtojot vienu un to pašu funkciju(-as). Pateicoties AHK vienkāršajai sintaksei, šāds "kods" ir salīdzinoši viegli saprotams:

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

Definējiet cilpu, vienkārši ierakstot vārdu "cilpa" un pēc tam atzīmējot tās sākumu ar "{" un beidzot ar "}". Viss, kas atrodas rindās starp “{” un “}”, darbosies mūžīgi, līdz iziesit no skripta.

Sāciet ciklu, gaidot ( Miega režīms ) laiku, kas vienāds ar mainīgo SleepTime. Šis mainīgais padara laika kontroli vienkāršāku. Tā vietā, lai pats rediģētu skriptu, varat tam "pateikt", izmantojot šo mainīgo, cik sekundes katrai cilpai vajadzētu ilgt.

Visbeidzot, izmantojiet ziņojumu lodziņu , lai pārbaudītu skriptu. Mēģiniet to saglabāt un palaist (veiciet dubultklikšķi uz skripta faila). Jūs redzēsit ziņojuma lodziņu ar uzrakstu "Tas darbojas!" (skripts darbojas) pēc 10 sekundēm.

Ar peles labo pogu noklikšķiniet uz AHK ikonas Windows teknē un izejiet no skripta, kad ir bijis pietiekami daudz ziņojumu lodziņu. Pēc tam dodieties atpakaļ uz redaktoru un aizstājiet MsgBox rindu ar:

WinGetActiveTitle, ActiveWindow

Šī ir komanda, lai iegūtu aktīvā loga nosaukumu. Izlaidiet papildu rindiņu “StoreActiveWindow” , ko piemērā izmantoja, skriptējot testēšanai.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Iegūstiet aktīvā loga nosaukumu un saglabājiet to mainīgajā

3. Iegūstiet pašreizējo laiku un vārdu

Tagad nāk skripta loģikas kodols. Salīdziniet aktīvā loga nosaukumu ar iepriekšējo un, ja tie atšķiras, "izdariet kaut ko". Viss ir tik vienkārši:

If ActiveWindow != %LastActiveWindow%
{
}

Ņemot vērā iepriekš minēto, pārbaudiet, vai pašreizējais ActiveWindow atšķiras ( != ) no LastActiveWindow mainīgajā saglabātās vērtības (kas sākotnēji tika iestatīts uz tukšu). Ja tā, AHK izpildīs kodu starp { un } , kas pašlaik ir tukšs.

Iestatiet funkciju, lai salīdzinātu aktīvā loga un iepriekšējā loga nosaukumu

Lai izmērītu loga darbības laiku, ir nepieciešams izsekot gan datumam, gan laikam. Tiks saglabāti dažādi žurnāli katrai dienai, izmantojot datumu to vārdā. Tiks reģistrētas ne tikai visas izmaiņas, bet arī laiks, kad tās notiek. Lai to izdarītu, mainīgajiem LogTime un LogFilename piešķiriet dažādus laika formātus ar:

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

Pievienojiet šīs līnijas starp krokainajām iekavām sadaļā "If ActiveWindow..." , lai AHK tās palaistu, kad tā konstatē loga izmaiņas.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Iegūstiet pašreizējo laiku un piešķiriet to divos dažāda formāta mainīgajos

4. Datu formāts

Tagad mēs tveram laiku divos atšķirīgi formatētos mainīgajos, kā arī aktīvā loga nosaukumu. Tomēr pastāv neliela problēma: loga virsrakstā var būt arī nevēlamas rakstzīmes. Ir iespējams noņemt visas rakstzīmes, kas nav burtciparu rakstzīmes, izmantojot AHK atbalstu RegEx, ar:

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

Paturot to prātā, "lūgsim" AHK noņemt no ActiveWindow mainīgā visas rakstzīmes, kas neatbilst iekavās norādītajam:

  • Mazie burti
  • Lielie burti
  • Skaitļi

Pēc tam piešķiriet rezultātu mainīgajam LogWindow.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Notīriet aktīvā loga nosaukumu, izmantojot RegEx

Kad visi mainīgie ir iestatīti un visi vērtīgie dati ir savākti, tagad esat gatavs formatēt žurnālfailu un tā saturu.

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

Iepriekš mēs piešķīrām pašreizējo datumu mainīgajam LogFilename . Tāpēc pirmajā rindā datumam pievienojiet "_AppLog.md" , lai to izmantotu kā faila nosaukumu.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Iestatiet žurnālfaila nosaukumu

Otrajā rindā apvienojiet mainīgo LogPath , kas sākumā definēts kā žurnālfaila galamērķis, kopā ar faila nosaukumu. To kombinācija ir pilns žurnālfaila ceļa nosaukums, kas piešķirts mainīgajam LogFile.

Piešķirsim FileContent mainīgajam ekvivalentu vērtību " tukša rinda, laiks — loga nosaukums, vēl divas tukšas rindiņas, dalītājs un vēl viena tukša rindiņa .

FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
  • Burts "n" liek AHK ievadīt jaunu rindiņu (atbilst vienreizējai Enter nospiešanai ).
  • Trīs domuzīmes parādīsies kā atdalītājs, kad tās tiks rādītas saderīgā skatītājā.
  • "% LogTime%" un "% LogWindow%" ir mainīgie, kas saglabāja aktīvā loga nosaukumu un tā noteikšanas laiku.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Nosaka žurnālfaila saturu

5. Atjauniniet failus

Jūs esat definējis, ko mēs vēlamies rakstīt failā, kā arī tā ceļu un faila nosaukumu. Atliek tikai faktiskais, vienkāršs teksts:

FileAppend, %FileContent%, %LogFile%

Pievienojiet visu mainīgajā "FileContent" failam "LogFile".

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Izmantojiet AHK pievienošanas funkciju, lai atjauninātu žurnāla failu vai izveidotu to no jauna

Funkcija "pievienot" failam pievienos "FileContent", ja tāds pastāv, bet arī izveidos to no jauna, ja fails neeksistē.

Ir viens pēdējais kniebiens: aizstājiet LastActiveWindow mainīgā saturu ar pašlaik aktīvo logu.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Ievieto pašreizējā aktīvā loga nosaukumu mainīgajā LastActiveWindow turpmākai pārbaudei

Lai to izdarītu, skriptam jāspēj noteikt nākamās loga izmaiņas.

LastActiveWindow = %ActiveWindow%

Un ar šo pēdējo papildinājumu Windows reģistrētājs ir gatavs! Saglabājiet skriptu un palaidiet to. Pēc tam pārbaudiet atzīmes failu, šis fails parādīsies skripta faila mapē pēc 10 sekundēm.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Windows žurnāla fails tiek izveidots tajā pašā direktorijā, kur skripts

Uzņemieties atbildību par savu laiku

Žurnāla failu var atvērt ar jebkuru teksta redaktoru. Tomēr tas izskatīsies labāk, ja to atvērsit ar atzīmes saderīgu redaktoru. Ekrānuzņēmumā varat redzēt žurnālu populārajā Typora redaktorā.

Kā izveidot laika uzskaites lietojumprogrammu sistēmā Windows, izmantojot AutoHotKey

Skripta ģenerētais atzīmes fails tiek ielādēts programmā Typora

Tas ir vienkāršs veids, kā pārbaudīt, kuras lietotnes esat izmantojis visvairāk, un ir nepieciešams tikai tāds rīks kā Notepad.

Ja vēlaties kaut ko "īpašāku", vienmēr varat "stilizēt" reģistrētāja izvadi, lai tā vietā izveidotu CSV failu. Tas ir tikpat vienkārši, kā pielāgot FileContent mainīgo un izveidotā faila paplašinājumu. Pēc tam varat importēt šādus failus tādās lietojumprogrammās kā Excel, Google Calc vai pat trešās puses laika izsekotājiem.

Pilnīgs skripts

#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

Brīdinājums par Sqpc Ransomware, kas pieder STOP/Djvu saimei

Brīdinājums par Sqpc Ransomware, kas pieder STOP/Djvu saimei

Sqpc visiem failiem pievieno savu īpašo paplašinājumu .sqpc. Piemēram, fails video.avi tiks pārveidots par video.avi.sqpc. Tiklīdz šifrēšana ir veiksmīgi veikta, Sqpc izveido īpašu failu _readme.txt un pievieno to visām mapēm, kurās ir modificētie faili.

Kā iestatīt un konfigurēt DDNS Draytek maršrutētājā

Kā iestatīt un konfigurēt DDNS Draytek maršrutētājā

Dinamiskais DNS pakalpojums (DDNS) ir risinājums, ja vēlaties piekļūt maršrutētājam no interneta, bet tam ir dinamiska IP adrese. Varat reģistrēties dinamiskā DNS pakalpojumam un reģistrēt maršrutētāja resursdatora nosaukumu.

Kā noņemt administratora pieteikšanās prasību, drukājot pēc PrintNightmare ielāpa

Kā noņemt administratora pieteikšanās prasību, drukājot pēc PrintNightmare ielāpa

Pēc PrintNightmare ielāpa instalēšanas daži printeri prasīs administratora akreditācijas datus ikreiz, kad lietotājs mēģinās drukāt Windows Point and Print vidē.

Norādījumi interneta savienojuma koplietošanas izslēgšanai operētājsistēmā Windows

Norādījumi interneta savienojuma koplietošanas izslēgšanai operētājsistēmā Windows

Dažreiz interneta savienojuma koplietošana no datora palēninās un samazina interneta savienojuma veiktspēju, it īpaši, ja skatāties filmas tiešsaistē vai lejupielādējat noteiktus failus datorā. Turklāt, ja tīkla līnija ir nestabila, vislabāk ir izslēgt tiešā interneta savienojuma koplietošanas pakalpojumu (Internet Connection Sharing) savā datorā.

Atspējojiet NTFS failu saspiešanu, lai paātrinātu Windows datorus

Atspējojiet NTFS failu saspiešanu, lai paātrinātu Windows datorus

NTFS failu saspiešanas līdzeklis ir pieejams Windows operētājsistēmās. Windows lietotāji var izmantot šo līdzekli, lai saspiestu failus, lai ietaupītu vietu NTFS cietajos diskos. Tomēr dažos gadījumos šī funkcija samazina sistēmas veiktspēju un patērē daudz sistēmas resursu. Tāpēc, lai paātrinātu Windows, šī funkcija ir jāatspējo.

10 informācijas vienības, kas izmantotas, lai nozagtu jūsu identitāti

10 informācijas vienības, kas izmantotas, lai nozagtu jūsu identitāti

Identitātes zādzība var radīt neparedzamas sekas upuriem. Izpētīsim 10 informācijas veidus, ko zagļi izmanto, lai nozagtu identitāti, izmantojot šo rakstu!

Kas ir TeamViewer?

Kas ir TeamViewer?

TeamViewer ir pazīstams vārds daudziem cilvēkiem, īpaši tiem, kuri regulāri lieto datorus un strādā tehnoloģiju jomā. Tātad, kas ir TeamViewer?

Kā uzskaitīt instalētos draiverus sistēmā Windows (PowerShell CMD)

Kā uzskaitīt instalētos draiverus sistēmā Windows (PowerShell CMD)

Ja vēlaties uzzināt, kuri draiveri ir instalēti jūsu sistēmā, šeit ir vienkārša PowerShell komanda, lai iegūtu Windows instalēto draiveru sarakstu.

Zaļas tapetes, skaistas zaļas tapetes datoriem un telefoniem

Zaļas tapetes, skaistas zaļas tapetes datoriem un telefoniem

Zaļā krāsa ir arī tēma, ko daudzi fotogrāfi un dizaineri izmanto, lai izveidotu tapešu komplektus, kuru galvenais krāsu tonis ir zaļš. Zemāk ir zaļo fona tapešu komplekts datoriem un tālruņiem.

Kā atrast un atvērt failus, izmantojot komandu uzvedni

Kā atrast un atvērt failus, izmantojot komandu uzvedni

Tiek uzskatīts, ka šī failu meklēšanas un atvēršanas metode ir ātrāka nekā File Explorer.