Come creare unapplicazione di monitoraggio del tempo su Windows con AutoHotKey

Come creare unapplicazione di monitoraggio del tempo su Windows con AutoHotKey

Inizi il tuo lavoro ogni giorno presto in modo da poter risolvere tutto durante il giorno. Poi controlli l'orologio e sono le 3 del mattino ma il tuo lavoro non è ancora finito. Allora dov'è finito il tempo?

Puoi utilizzare un'app dedicata per il monitoraggio del tempo, ma può essere complicata e frustrante. Invece, perché non creare la tua piccola e semplice app? Questa applicazione può tenere traccia di tutte le finestre che hai utilizzato durante il giorno. Hai solo bisogno di AutoHotKey, un elaboratore di testi di base come Blocco note e circa mezz'ora. Iniziamo!

Crea il tuo script di registrazione di Windows con AutoHotKey

Prima di iniziare, dovresti installare AHK sul tuo computer perché fungerà da "parser" per lo script. È lo strumento che consentirà al tuo script di "eseguire".

Nota : è anche possibile compilare lo script dopo averlo completato per trasformarlo in un vero programma eseguibile. Tuttavia, ciò va oltre lo scopo di questo articolo.

Scarica AutoHotKey dal sito Web ufficiale e installalo.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Seleziona Nuovo > Script AutoHotKey

Avvia il tuo file manager preferito e accedi alla cartella in cui desideri archiviare lo script. Quindi, fai clic con il pulsante destro del mouse su una posizione vuota e seleziona Nuovo > AutoHotKey Script .

Una volta completato, è il momento di scrivere la sceneggiatura vera e propria.

1. Identificare le variabili necessarie

Apri lo script nel tuo editor preferito. Puoi utilizzare qualcosa di semplice come Blocco note fornito con Windows, ma l'articolo utilizzerà Notepad++  per questo tutorial. Notepad++ è gratuito e più adatto a questo scopo, quindi dovresti provarlo.

Tieni presente che non dovresti utilizzare applicazioni come Word o Google Docs, che potrebbero influire sulla formattazione dello script. Utilizza un editor di testo o di codice.

Lo script conterrà alcune informazioni di base consigliate sulla compatibilità e sulle prestazioni. Lasciali così come sono e avvia lo script seguente.

Inizia con:

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

Inizia assegnando il valore "10" a AppLoggingRate , che verrà utilizzato per calcolare il tempo tra i tentativi di registrazione della finestra.

Se utilizzato con la funzione Sleep di AHK, 1000 equivale all'incirca a un secondo. Quindi moltiplicandolo per AppLogingRate renderai la variabile SleepTime "pari a 10 secondi".

LogPath è il percorso utilizzato per archiviare i log. L'esempio utilizza il valore %A_ScriptDir% , che si traduce in "la directory da cui esegui lo script". Se lo desideri, puoi utilizzare il percorso completo di un'altra cartella.

Infine, imposta LastActiveWindow su vuoto e utilizzalo in seguito per verificare se la finestra attiva è cambiata.

2. Monitorare le finestre attive

Dato che vogliamo monitorare continuamente quale finestra è attiva e se cambia, registrare titolo e ora, dovremo utilizzare un “loop”.

Come suggerisce il nome, un ciclo viene eseguito continuamente, ripetendo le stesse funzioni. Grazie alla semplice sintassi di AHK, il seguente "codice" è relativamente facile da capire:

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

Definisci un loop semplicemente digitando la parola "loop" e contrassegnandone l'inizio con "{" e la fine con "}". Tutto nelle righe tra "{" e "}" verrà eseguito per sempre finché non esci dallo script.

Avvia il ciclo aspettando ( Sleep ) per un periodo di tempo pari alla variabile SleepTime. Questa variabile semplifica il controllo del tempo. Invece di modificare tu stesso lo script, puoi "dirgli", tramite questa variabile, quanti secondi dovrebbe durare ogni ciclo.

Infine, utilizza Message Box per testare lo script. Prova a salvarlo ed eseguirlo (fai doppio clic sul file di script). Vedrai una finestra di messaggio che dice "Funziona!" (script funzionante) dopo 10 secondi.

Fai clic con il pulsante destro del mouse sull'icona di AHK nella barra delle applicazioni di Windows ed esci dallo script quando hai abbastanza finestre di messaggio. Quindi torna all'editor e sostituisci la riga MsgBox con:

WinGetActiveTitle, ActiveWindow

Questo è il comando per ottenere il titolo della finestra attiva. Omettere la riga aggiuntiva "StoreActiveWindow" utilizzata nell'esempio durante lo scripting per il test.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Ottieni il titolo della finestra attiva e memorizzalo in una variabile

3. Ottieni l'ora e il nome attuali

Ora arriva il nocciolo della logica dello script. Confronta il nome della finestra attiva con quello precedente e, se differiscono, "fai qualcosa". Tutto è così semplice:

If ActiveWindow != %LastActiveWindow%
{
}

Considerato quanto sopra, controlla se l' ActiveWindow corrente è diverso ( != ) dal valore memorizzato nella variabile LastActiveWindow (che inizialmente era impostata su vuota). In tal caso, AHK eseguirà il codice tra { e } , che attualmente è vuoto.

Imposta la funzione per confrontare il titolo della finestra attiva e della finestra precedente

È necessario tenere traccia sia della data che dell'ora per misurare il tempo di attività di una finestra. Verranno conservati registri diversi per ogni giorno, utilizzando la data nel nome. Verrà registrato non solo ogni cambiamento, ma anche il momento in cui si verifica. Per fare ciò, assegna formati temporali diversi alle variabili LogTime e LogFilename , con:

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

Aggiungi quelle linee tra le parentesi graffe in "If ActiveWindow..." , in modo che AHK le esegua quando rileva un cambio di finestra.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Ottieni l'ora corrente e assegnala in due variabili di formati diversi

4. Formato dei dati

Ora catturiamo l'ora in due variabili formattate diversamente, così come il titolo della finestra attiva. C'è però un piccolo problema: il titolo della finestra può contenere anche caratteri indesiderati. È possibile rimuovere tutti i caratteri non alfanumerici utilizzando il supporto di AHK per RegEx, con:

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

Con questo in mente, "chiediamo" ad AHK di rimuovere tutti i caratteri dalla variabile ActiveWindow che non corrispondono a ciò che è tra parentesi:

  • Minuscolo
  • Lettera maiuscola
  • Numeri

Quindi, assegna il risultato alla variabile LogWindow.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Pulisci il titolo della finestra attiva con RegEx

Con tutte le variabili impostate e tutti i dati preziosi raccolti, ora sei pronto per formattare il file di registro e il suo contenuto.

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

In precedenza, abbiamo assegnato la data corrente alla variabile LogFilename. Pertanto, per la prima riga, aggiungi "_AppLog.md" alla data per utilizzarlo come nome del file.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Imposta il nome del file di registro

Nella seconda riga, combina la variabile LogPath , definita all'inizio come destinazione per il file di registro, insieme al nome del file. La loro combinazione è il percorso completo del file di registro, assegnato alla variabile LogFile.

Assegniamo il valore equivalente di "riga vuota, Tempo - Nome della finestra, altre due righe vuote, un divisore e un'altra riga vuota, per buona misura" alla variabile FileContent.

FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
  • La lettera "n" indica ad AHK di inserire una nuova riga (equivalente a premere Invio una volta).
  • Tre trattini appariranno come separatore quando visualizzati in un visualizzatore compatibile con il cross-down.
  • "% LogTime%" e "% LogWindow%" sono variabili che memorizzano il nome della finestra attiva e l'ora in cui è stata rilevata.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Determina il contenuto del file di registro

5. Aggiorna i file

Hai definito cosa vogliamo scrivere nel file, così come il suo percorso e il nome del file. Tutto ciò che rimane è il testo reale e semplice come segue:

FileAppend, %FileContent%, %LogFile%

Aggiungi tutto nella variabile "FileContent" al file "LogFile".

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Utilizza la funzione Aggiungi di AHK per aggiornare il file di registro o crearne uno da zero

La funzione "append" aggiungerà "FileContent" al file se esiste, ma lo creerà anche da zero se il file non esiste.

C'è un'ultima modifica: sostituire il contenuto della variabile LastActiveWindow con la finestra attualmente attiva.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Inserisce il titolo della finestra attiva corrente nella variabile LastActiveWindow per test futuri

Per fare ciò, lo script dovrebbe essere in grado di rilevare il successivo cambio di finestra.

LastActiveWindow = %ActiveWindow%

E con quest'ultima aggiunta, il registratore di Windows è pronto! Salva lo script ed eseguilo. Quindi, controlla il file markdown, questo file apparirà nella cartella dei file script dopo 10 secondi.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Il file di registro di Windows viene creato nella stessa directory dello script

Prendi il controllo del tuo tempo

È possibile aprire il file di registro con qualsiasi editor di testo. Tuttavia, avrà un aspetto migliore se lo apri in un editor compatibile con Markdown. Nello screenshot puoi vedere il registro nel popolare editor Typora.

Come creare un'applicazione di monitoraggio del tempo su Windows con AutoHotKey

Il file markdown generato dallo script viene caricato in Typora

È un modo semplice per verificare quali app hai utilizzato più tempo e richiede solo uno strumento come Blocco note per essere utilizzato.

Se desideri qualcosa di "più speciale", puoi sempre "modellare" l'output del logger per creare invece un file CSV. È facile come regolare la variabile FileContent e l'estensione del file creato. Puoi quindi importare tali file in applicazioni come Excel, Google Calc o anche tracker temporali di terze parti.

Sceneggiatura completa

#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

Come utilizzare Cortana per spegnere o riavviare Windows 10?

Come utilizzare Cortana per spegnere o riavviare Windows 10?

L'assistente virtuale Cortana è una delle nuove funzionalità integrate in Windows 10 e viene visualizzata direttamente sulla barra delle applicazioni. Gli utenti devono solo parlare nel microfono del dispositivo, porre domande o impartire comandi di controllo, Cortana risponderà alla domanda o seguirà i comandi vocali dell'utente.

Come scaricare Facebook Messenger su Windows 10

Come scaricare Facebook Messenger su Windows 10

Sebbene sia già possibile utilizzare Messenger su un browser Web, Facebook sta ora creando anche un'app desktop per Windows 10 e macOS.

Recensione Malwarebytes: un ottimo programma anti-malware in prima linea

Recensione Malwarebytes: un ottimo programma anti-malware in prima linea

MalwareBytes è uno strumento di rilevamento e rimozione di malware disponibile gratuitamente e dispone anche di una versione premium che aggiunge alcune importanti funzionalità. È in grado di rilevare e rimuovere tutti i tipi di malware, inclusi spyware, trojan, worm e persino ransomware.

Cosa fa il Ripristino configurazione di sistema in Windows 10?

Cosa fa il Ripristino configurazione di sistema in Windows 10?

L'articolo di oggi ti aiuterà a trovare il metodo migliore per utilizzare Ripristino configurazione di sistema, determinandone le dimensioni complete su un PC o laptop Windows 10.

Microsoft ha rilasciato laggiornamento Windows 10 Insider build 17682 per rendere Windows più stabile

Microsoft ha rilasciato laggiornamento Windows 10 Insider build 17682 per rendere Windows più stabile

Recentemente, Microsoft ha rilasciato l'aggiornamento Windows 10 Insider build 17682 con molte funzionalità migliorate che promettono di rendere Windows più stabile e migliorare le prestazioni.

Come creare unapplicazione di monitoraggio del tempo su Windows con AutoHotKey

Come creare unapplicazione di monitoraggio del tempo su Windows con AutoHotKey

Questa applicazione può tenere traccia di tutte le finestre che hai utilizzato durante il giorno. Hai solo bisogno di AutoHotKey, un elaboratore di testi di base come Blocco note e circa mezz'ora.

Come installare le aggiunte guest in VirtualBox

Come installare le aggiunte guest in VirtualBox

VirtualBox è un ottimo software, soprattutto per gli sviluppatori. Potresti riscontrare problemi di prestazioni e l'integrazione con il sistema operativo di base (noto anche come sistema operativo "host") non è molto adatta.

Istruzioni per modificare la direzione di scorrimento del touchpad di Windows 10

Istruzioni per modificare la direzione di scorrimento del touchpad di Windows 10

Per poter scorrere una pagina o una finestra su Windows 10, oltre a utilizzare il mouse, sposteremo il dito dall'alto verso il basso sul Touchpad. Possiamo però anche modificare questa operazione predefinita con un'operazione abbastanza semplice.

Connetti il ​​telefono Android a Windows 10 con Continua su PC

Connetti il ​​telefono Android a Windows 10 con Continua su PC

Gli smartphone oggi hanno molte nuove funzionalità e sono considerati computer in miniatura, tuttavia non tutto può essere fatto su questo dispositivo. Microsoft lo capisce, quindi con il prossimo Fall Creators Update, la società introdurrà una nuova funzionalità di collegamento da telefono a PC che consentirà agli utenti di lavorare sul telefono e quindi trasferirlo sul sistema Windows 10.

Istruzioni per configurare il riconoscimento facciale di Windows Hello su Windows 10

Istruzioni per configurare il riconoscimento facciale di Windows Hello su Windows 10

Windows Hello è una nuova funzionalità comoda e utile integrata da Microsoft in Windows 10 con la capacità di riconoscere i volti degli utenti, supportare la sicurezza e supportare un accesso più rapido quando si utilizza il sistema operativo.