Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Comienzas tu trabajo todos los días temprano para poder resolver todo durante el día. Luego miras el reloj y son las 3 a.m. pero tu trabajo aún no ha terminado. Entonces, ¿dónde se ha ido el tiempo?

Puede utilizar una aplicación de seguimiento del tiempo dedicada, pero puede resultar complicada y frustrante. En lugar de eso, ¿por qué no crear tu propia y sencilla aplicación? Esta aplicación puede rastrear todas las ventanas que has utilizado durante el día. Sólo necesitas AutoHotKey, un procesador de textos básico como el Bloc de notas, y aproximadamente media hora. ¡Empecemos!

Cree su propio script de registro de Windows con AutoHotKey

Antes de comenzar, debes instalar AHK en tu computadora porque actuará como un "analizador" del script. Es la herramienta que permitirá que su script se "ejecute".

Nota : También puede compilar el script una vez finalizado para convertirlo en un programa ejecutable real. Sin embargo, eso está más allá del alcance de este artículo.

Descargue AutoHotKey del sitio web oficial e instálelo.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Seleccione Nuevo > Script AutoHotKey

Inicie su administrador de archivos favorito y acceda a la carpeta donde desea almacenar el script. Luego, haga clic derecho en una ubicación vacía y seleccione Nuevo > AutoHotKey Script .

Una vez completado, es hora de escribir el guión real.

1. Identificar las variables necesarias

Abra el script en su editor favorito. Puedes usar algo simple como el Bloc de notas que viene con Windows, pero el artículo usará Notepad++  para este tutorial. Notepad++ es gratuito y está mejor adaptado para este propósito, por lo que deberías probarlo.

Tenga en cuenta que no debe utilizar ninguna aplicación como Word o Google Docs, que pueden afectar el formato del script. Utilice un editor de texto o código.

El script contendrá información básica recomendada sobre compatibilidad y rendimiento. Déjalos como están y comienza el siguiente script.

Comienza con:

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

Comience asignando el valor "10" a AppLoggingRate , que se utilizará para calcular el tiempo entre intentos de registro de ventana.

Cuando se utiliza con la función Sleep de AHK, 1000 equivale aproximadamente a un segundo. Entonces, al multiplicarlo por AppLogingRate , la variable SleepTime será "igual a 10 segundos".

LogPath es la ruta utilizada para almacenar registros. El ejemplo utiliza el valor %A_ScriptDir% , que se traduce como "el directorio desde donde ejecuta el script". Puede utilizar la ruta completa a otra carpeta si lo desea.

Finalmente, configure LastActiveWindow para que esté vacío y utilícelo más tarde para verificar si la ventana activa ha cambiado.

2. Monitorear ventanas activas

Como queremos monitorear continuamente qué ventana está activa y si cambia, registrar el título y la hora, tendremos que usar un “bucle”.

Como sugiere el nombre, un bucle se ejecuta continuamente y repite las mismas funciones. Gracias a la sintaxis simple de AHK, el siguiente "código" es relativamente fácil de entender:

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

Defina un bucle simplemente escribiendo la palabra "bucle" y luego marcando su comienzo con "{" y terminando con "}". Todo lo que esté en las líneas entre "{" y "}" se ejecutará para siempre hasta que salga del script.

Inicie el ciclo esperando ( Sleep ) durante un período de tiempo igual a la variable SleepTime. Esta variable simplifica el control del tiempo. En lugar de editar el script usted mismo, puede "decirle", a través de esta variable, cuántos segundos debe durar cada bucle.

Finalmente, use Message Box para probar el script. Intente guardarlo y ejecutarlo (haga doble clic en el archivo de script). Verá un cuadro de mensaje que dice "¡Funciona!" (guión funcionando) después de 10 segundos.

Haga clic derecho en el ícono de AHK en la bandeja de Windows y salga del script cuando haya tenido suficientes cuadros de mensajes. Luego regrese al editor y reemplace la línea MsgBox con:

WinGetActiveTitle, ActiveWindow

Este es el comando para obtener el título de la ventana activa. Omita la línea adicional "StoreActiveWindow" que se utilizó en el ejemplo durante la secuencia de comandos para las pruebas.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Obtenga el título de la ventana activa y guárdelo en una variable

3. Obtenga la hora y el nombre actuales.

Ahora viene el núcleo de la lógica del guión. Compara el nombre de la ventana activa con el anterior, y si difieren, "haz algo". Todo es tan simple como esto:

If ActiveWindow != %LastActiveWindow%
{
}

Teniendo en cuenta lo anterior, verifique si la ActiveWindow actual es diferente ( != ) del valor almacenado en la variable LastActiveWindow (que inicialmente se configuró como vacía). Si es así, AHK ejecutará el código entre { y } , que actualmente está vacío.

Establecer la función para comparar el título de la ventana activa y la ventana anterior

Es necesario realizar un seguimiento de la fecha y la hora para medir el tiempo de actividad de una ventana. Se conservarán registros diferentes para cada día, utilizando la fecha en su nombre. No sólo se registrarán todos los cambios, sino también el momento en que se produzca. Para hacer eso, asigne diferentes formatos de hora a las variables LogTime y LogFilename , con:

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

Agregue esas líneas entre las llaves en "If ActiveWindow..." , para que AHK las ejecute cuando detecte un cambio de ventana.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Obtener la hora actual y asignarla en dos variables de diferentes formatos

4. Formato de datos

Ahora capturamos la hora en dos variables con formato diferente, así como el título de la ventana activa. Sin embargo, existe un pequeño problema: el título de la ventana también puede contener caracteres no deseados. Es posible eliminar todos los caracteres no alfanuméricos utilizando el soporte de AHK para RegEx, con:

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

Con esto en mente, "pedimos" a AHK que elimine todos los caracteres de la variable ActiveWindow que no coincidan con lo que está entre corchetes:

  • Minúsculas
  • Letra mayúscula
  • Números

Luego, asigne el resultado a la variable LogWindow.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Limpiar el título de la ventana activa con RegEx

Con todas las variables configuradas y todos los datos valiosos recopilados, ahora está listo para formatear el archivo de registro y su contenido.

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

Anteriormente, asignamos la fecha actual a la variable LogFilename. Por lo tanto, para la primera línea, agregue "_AppLog.md" a la fecha para usarla como nombre de archivo.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Establecer el nombre del archivo de registro

En la segunda línea, combine la variable LogPath , definida al principio como destino del archivo de registro junto con el nombre del archivo. Su combinación es la ruta completa del archivo de registro, asignada a la variable LogFile.

Asignemos el valor equivalente de "línea vacía, Hora - Nombre de la ventana, dos líneas vacías más, un divisor y otra línea vacía, por si acaso" a la variable FileContent.

FileContent = `n%LogTime% - %LogWindow%`n`n- - -`n
  • La letra "n" le indica a AHK que ingrese una nueva línea (equivalente a presionar Enter una vez).
  • Aparecerán tres guiones como separadores cuando se muestren en un visor compatible con cruz hacia abajo.
  • "% LogTime%" y "% LogWindow%" son variables que almacenaban el nombre de la ventana activa y la hora en que fue detectada.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Determina el contenido del archivo de registro.

5. Actualizar archivos

Ha definido lo que queremos escribir en el archivo, así como su ruta y nombre de archivo. Todo lo que queda es el texto real y simple, como sigue:

FileAppend, %FileContent%, %LogFile%

Agregue todo lo que hay en la variable "FileContent" al archivo "LogFile".

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Utilice la función Agregar de AHK para actualizar el archivo de registro o crear uno desde cero

La función "añadir" agregará "FileContent" al archivo si existe, pero también lo creará desde cero si el archivo no existe.

Hay un último ajuste: reemplazar el contenido de la variable LastActiveWindow con la ventana actualmente activa.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

Inserta el título de la ventana activa actual en la variable LastActiveWindow para pruebas futuras

Para hacer esto, el script debería poder detectar el siguiente cambio de ventana.

LastActiveWindow = %ActiveWindow%

Y con esa última adición, ¡el registrador de Windows está listo! Guarde el script y ejecútelo. Luego, verifique el archivo de rebajas, este archivo aparecerá en la carpeta del archivo de secuencia de comandos después de 10 segundos.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

El archivo de registro de Windows se crea en el mismo directorio que el script.

Toma el control de tu propio tiempo

Puede abrir el archivo de registro con cualquier editor de texto. Sin embargo, se verá mejor si lo abre en un editor compatible con Markdown. En la captura de pantalla puedes ver el registro en el popular editor Typora.

Cómo crear una aplicación de seguimiento del tiempo en Windows con AutoHotKey

El archivo de rebajas generado por el script se carga en Typora

Es una manera fácil de comprobar qué aplicaciones has estado usando más tiempo y solo requiere una herramienta como el Bloc de notas para su uso.

Si desea algo "más especial", siempre puede "diseñar" la salida del registrador para crear un archivo CSV. Es tan fácil como ajustar la variable FileContent y la extensión del archivo creado. Luego puede importar dichos archivos a aplicaciones como Excel, Google Calc o incluso rastreadores de tiempo de terceros.

guión completo

#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

Dejar un comentario

Cómo eliminar el aviso de solicitud de derechos de autor en la esquina derecha de la pantalla en Windows 10

Cómo eliminar el aviso de solicitud de derechos de autor en la esquina derecha de la pantalla en Windows 10

¿Ves una notificación de activación de Windows 10 en la esquina derecha de la pantalla? Este artículo le guiará sobre cómo eliminar el aviso de solicitud de derechos de autor en Windows 10.

Instrucciones de AZ sobre cómo instalar Windows 10 compilación 14393.222

Instrucciones de AZ sobre cómo instalar Windows 10 compilación 14393.222

Recientemente, Microsoft lanzó la última actualización acumulativa para usuarios de PC con Windows 10 llamada Build 14393.222. Esta actualización lanzada para Windows 10 corrige principalmente errores basados ​​en los comentarios de los usuarios y mejora la experiencia de rendimiento del sistema operativo.

Proteja su red informática con Bastion host en solo 3 pasos

Proteja su red informática con Bastion host en solo 3 pasos

¿Tiene computadoras en su red local que necesitan acceso externo? Usar un host bastión como guardián de su red puede ser una buena solución.

3 formas de borrar rápidamente todos los registros de eventos en Windows 10

3 formas de borrar rápidamente todos los registros de eventos en Windows 10

A veces es posible que necesites eliminar todos los registros de eventos antiguos a la vez. En esta guía, Quantrimang.com le mostrará 3 formas de eliminar rápidamente todos los registros de eventos en el Visor de eventos de Windows 10.

Cómo crear una tecla de Windows si tu teclado no está disponible

Cómo crear una tecla de Windows si tu teclado no está disponible

Si prefiere usar un teclado clásico antiguo, como el IBM Modelo M, que no incluye una tecla física de Windows, existe un método sencillo para agregar más, tomando prestada una tecla que no usa con frecuencia.

Cómo crear un modo de fondo transparente en Windows 10

Cómo crear un modo de fondo transparente en Windows 10

WindowTop es una herramienta que tiene la capacidad de atenuar todas las ventanas de aplicaciones y programas que se ejecutan en computadoras con Windows 10. O puede usar una interfaz de fondo oscuro en Windows.

Los métodos de IP falsos te ayudan a acceder de forma anónima

Los métodos de IP falsos te ayudan a acceder de forma anónima

En muchos artículos anteriores hemos mencionado que permanecer anónimo en línea es extremadamente importante. Cada año se filtra información privada, lo que hace que la seguridad en línea sea cada vez más necesaria. Esa es también la razón por la que deberíamos utilizar direcciones IP virtuales. ¡A continuación, aprenderemos sobre métodos para crear IP falsas!

Cómo desactivar la barra de idioma en la barra de tareas de Windows 8

Cómo desactivar la barra de idioma en la barra de tareas de Windows 8

La barra de idioma en Windows 8 es una barra de herramientas de idioma en miniatura diseñada para mostrarse automáticamente en la pantalla del escritorio. Sin embargo, mucha gente quiere ocultar esta barra de idioma en la barra de tareas.

Consejos para optimizar la velocidad de conexión a Internet de Linksys

Consejos para optimizar la velocidad de conexión a Internet de Linksys

Maximizar la velocidad de Internet es esencial para optimizar su conexión de red. Podrás tener una óptima experiencia de entretenimiento y trabajo utilizando computadoras, televisores con acceso a Internet, consolas de juegos, etc.

Cómo configurar WEP, WPA, WPA2 para el enrutador Linksys

Cómo configurar WEP, WPA, WPA2 para el enrutador Linksys

La conectividad inalámbrica es una necesidad hoy en día y, por eso, la seguridad inalámbrica es esencial para garantizar la seguridad en su red interna.