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

Atšķirība starp pretvīrusu un ļaunprātīgas programmatūras apkarošanas programmām

Atšķirība starp pretvīrusu un ļaunprātīgas programmatūras apkarošanas programmām

Ļaunprātīgas programmatūras noņemšanas rīki un pretvīrusu programmatūra papildina viens otru un var darboties kopā, lai nodrošinātu maksimālu drošību lietotāju ierīcēs.

FortiClient apskats: vairāku platformu bezmaksas pretvīrusu programma

FortiClient apskats: vairāku platformu bezmaksas pretvīrusu programma

FortiClient ir bezmaksas pretvīrusu produkts no Fortinet. Fortinet ir pazīstams ar kiberdrošības aparatūras produktu ražošanu. FortiClient ir vairāku platformu programma, kas pieejama operētājsistēmām Windows, macOS, Linux, Windows Phone, iOS un Android.

Labojums Nevar atvērt šo vienumu kļūdu sistēmā Windows

Labojums Nevar atvērt šo vienumu kļūdu sistēmā Windows

Ja izmantojat sistēmu Windows, tiek parādīts kļūdas ziņojums Nevar atvērt šo vienumu. Iespējams, tas ir pārvietots, pārdēvēts vai izdzēsts. Kas man jādara? Lai iegūtu sīkāku informāciju, lūdzu, izpildiet tālāk sniegto rakstu.

Kas ir KRACK? Kā KRACK lauza WPA2 WiFi drošības protokolu

Kas ir KRACK? Kā KRACK lauza WPA2 WiFi drošības protokolu

Pētnieks Mathy Vanhoef no Lēvenas universitātes ir atklājis nopietnu drošības trūkumu Wi-Fi Protected Access II (WPA2) tīkla drošības protokolā.

Bieži uzdotie jautājumi par noklusējuma parolēm

Bieži uzdotie jautājumi par noklusējuma parolēm

Šodienas rakstā Quantrimang apkopos dažus bieži uzdotos jautājumus par noklusējuma parolēm, lai palīdzētu lasītājiem atbildēt uz jautājumiem, kas saistīti ar šo problēmu.

Kāpēc izmantot CyberGhost VPN?

Kāpēc izmantot CyberGhost VPN?

Jums ir nepieciešams VPN — tas padara dažādas iespējas vienkāršas, un CyberGhost VPN ir viens no labākajiem VPN, ja runa ir par vienkāršību.

3 populārākie multimākoņu drošības izaicinājumi un stratēģijas izveide

3 populārākie multimākoņu drošības izaicinājumi un stratēģijas izveide

Vairāki drošības paraugprakses piemēri ir parādījušies, palielinoties daudzmākoņu vidēm, un ir daži svarīgi soļi, kas būtu jāveic visām organizācijām, izstrādājot savas drošības stratēģijas.

Instalējiet dinamiskus ekrānus un animētas tapetes operētājsistēmā Windows

Instalējiet dinamiskus ekrānus un animētas tapetes operētājsistēmā Windows

Microsoft operētājsistēmā Windows Vista DreamScene ļāva iestatīt dinamisku fonu datoriem, taču astoņus gadus vēlāk tas joprojām nav pieejams operētājsistēmā Windows 10. Kāpēc šī paraža gadu gaitā ir bijusi atgriešanās pagātnē, un ko mēs varam darīt, lai to mainītu?

Kā savienot tīklu starp 2 klēpjdatoriem, izmantojot tīkla kabeli

Kā savienot tīklu starp 2 klēpjdatoriem, izmantojot tīkla kabeli

Ja vēlamies pieslēgt tīklam divus portatīvos datorus, varam izmantot tīkla kabeli un pēc tam nomainīt abu datoru IP adreses un viss.

Kā labot Jums nav atļaujas saglabāt šajā vietā operētājsistēmā Windows

Kā labot Jums nav atļaujas saglabāt šajā vietā operētājsistēmā Windows

Kad Windows parāda kļūdu “Jums nav atļaujas saglabāt šajā vietā”, tas neļaus jums saglabāt failus vajadzīgajās mapēs.