Contador de tiempo ejecución del programa

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Contador de tiempo ejecución del programa

26 May 2018, 11:03

Se puede hacer que autohotkey dectecte que un programa este ejecutando y empiece el a contar apartir que se a llamado a ejecutar tanto como en primer plano como en segúndo plano mientras estás haciendo otras cosas en el ordenador.

Creo que sera facíl ?

Después si se puede hacer dicho progrma o script puede decir a dicho programa o script que cuente que se está utilizando dicho progrma pero cuando pasa a otra ventana se pare el conometro o temporizador

Creo que son programas básico de escribir pero progamas complejos de escribir para un novato XD
No me burlo de los novatos,porque de ellos vengo
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Contador de tiempo ejecución del programa

26 May 2018, 11:49

En resumen, ¿quieres determinar el tiempo de "vida" de un programa?. ¿Se puede saber que programa?.
En el segundo caso, ¿sería lo mismo que el primero pero el tiempo no cuenta si una de las ventanas del programa no está activa?
User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Re: Contador de tiempo ejecución del programa

26 May 2018, 16:57

Flipeador wrote:En resumen, ¿quieres determinar el tiempo de "vida" de un programa?. ¿Se puede saber que programa?.
En el segundo caso, ¿sería lo mismo que el primero pero el tiempo no cuenta si una de las ventanas del programa no está activa?
Bertini ---> Lo que quiero esque el script se ejecute cuando el programa se está utilizando y cuando el programa deja de utilizarse se pare "que empece a contar cuando se utiliza y se para cuando pase a otra ventana"
No me burlo de los novatos,porque de ellos vengo
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Contador de tiempo ejecución del programa

26 May 2018, 17:20

¿Que hace el script?, ¿que pare qué?. No es necesario contar nada aquí. Creo que te estás confundiendo con las palabras que utilizas.
Hay una directiva, #If, que te permite hacer que las re-asignaciones de teclas solo funcionen cuando una ventana específica este activa, ¿a eso te refieres?. En la documentación se incluye un ejemplo, #If WinActive("ahk_class Notepad"), haciendo que todas las re-asignaciones declaradas debajo solo funcionarán en el bloc de notas.
User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Re: Contador de tiempo ejecución del programa

26 May 2018, 17:27

Flipeador wrote:¿Que hace el script?, ¿que pare qué?. No es necesario contar nada aquí. Creo que te estás confundiendo con las palabras que utilizas.
Hay una directiva, #If, que te permite hacer que las re-asignaciones de teclas solo funcionen cuando una ventana específica este activa, ¿a eso te refieres?. En la documentación se incluye un ejemplo, #If WinActive("ahk_class Notepad"), haciendo que todas las re-asignaciones declaradas debajo solo funcionarán en el bloc de notas.

Bertini ---> Quiero hacer un contador o conometro del tiempo usado la ventana y cuando pase a otra ventana que pare de contar el tiempo usado
No me burlo de los novatos,porque de ellos vengo
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Contador de tiempo ejecución del programa

26 May 2018, 17:35

Ejemplo con el bloc de notas:

Code: Select all

Tiempo := 0
SetTimer Etiqueta, -500
Return

Etiqueta:
If (WinActive("ahk_class Notepad"))
{
    Tiempo1 := A_TickCount
    WinWaitNotActive ahk_class Notepad
    Tiempo += A_TickCount - Tiempo1
}
SetTimer Etiqueta, -500
Return

F1:: ToolTip % Tiempo " milisegundos"
Abre el bloc de notas de Windows, mientras la ventana esté activa empezará a contar. Luego pierde el foco de la ventana y presiona F1 para ver el tiempo.
User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Re: Contador de tiempo ejecución del programa

26 May 2018, 17:41

Flipeador wrote:Ejemplo con el bloc de notas:

Code: Select all

Tiempo := 0
SetTimer Etiqueta, -500
Return

Etiqueta:
If (WinActive("ahk_class Notepad"))
{
    Tiempo1 := A_TickCount
    WinWaitNotActive ahk_class Notepad
    Tiempo += A_TickCount - Tiempo1
}
SetTimer Etiqueta, -500
Return

F10:: ToolTip % Tiempo " milisegundos"
Abre el bloc de notas de Windows, mientras la ventana esté activa empezará a contar. Luego pierde el foco de la ventana y presiona F1 para ver el tiempo.
Bertini ---> se podria hacer que mediera cuantos días hora minutos segundo milisegundos se a ejecutado dicho programa
No me burlo de los novatos,porque de ellos vengo
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Contador de tiempo ejecución del programa

26 May 2018, 17:59

Aquí hay una función que encontré en la documentación, reemplaza la línea F10:: ToolTip % Tiempo " milisegundos" por este código:

Code: Select all

F10:: ToolTip % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Re: Contador de tiempo ejecución del programa

26 May 2018, 18:16

Flipeador wrote:Aquí hay una función que encontré en la documentación, reemplaza la línea F10:: ToolTip % Tiempo " milisegundos" por este código:

Code: Select all

F10:: ToolTip % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
Bertini ---> A hora la unica pega que tengo es que se queda una pequeña ventanaa con el tiempo se podria guardar el tiempo en un archivo para después consultar el tiempo
No me burlo de los novatos,porque de ellos vengo
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Contador de tiempo ejecución del programa

26 May 2018, 18:47

Mira el comando FileAppend. Reemplaza ToolTip % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)" por FileAppend % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)", % A_Desktop . "\tiempo.txt" para crear el archivo en el escritorio.
User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Re: Contador de tiempo ejecución del programa

26 May 2018, 19:04

Bertini wrote:
Flipeador wrote:Aquí hay una función que encontré en la documentación, reemplaza la línea F10:: ToolTip % Tiempo " milisegundos" por este código:

Code: Select all

F10:: ToolTip % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
Bertini ---> A hora la unica pega que tengo es que se queda una pequeña ventanaa con el tiempo se podria guardar el tiempo en un archivo para después consultar el tiempo
Bertini ---> lo puese como me dijiste pero no me funciona te enseño el script

Code: Select all

Tiempo := 0
SetTimer Etiqueta, -500
Return

Etiqueta:
If (WinActive("ahk_exe java.exe"))
{
    Tiempo1 := A_TickCount
    WinWaitNotActive ahk_exe java.exe
    Tiempo += A_TickCount - Tiempo1
}
SetTimer Etiqueta, -500
Return

F10::FileAppend % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)", % 

A_Desktop . "\tiempo.txt"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
No me burlo de los novatos,porque de ellos vengo
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Contador de tiempo ejecución del programa

26 May 2018, 21:29

Si te fijas no lo copiaste bien.

Code: Select all

Tiempo := 0
SetTimer Etiqueta, -500
Return

Etiqueta:
If (WinActive("ahk_exe java.exe"))
{
    Tiempo1 := A_TickCount
    WinWaitNotActive ahk_exe java.exe
    Tiempo += A_TickCount - Tiempo1
}
SetTimer Etiqueta, -500
Return

F10::FileAppend % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)`r`n", % A_Desktop . "\tiempo.txt"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
Utiliza las etiquetas [code][/code] cuando pongas un script.
User avatar
Bertini
Posts: 86
Joined: 23 May 2018, 10:11

Re: Contador de tiempo ejecución del programa

27 May 2018, 05:48

Flipeador wrote:Si te fijas no lo copiaste bien.

Code: Select all

Tiempo := 0
SetTimer Etiqueta, -500
Return

Etiqueta:
If (WinActive("ahk_exe java.exe"))
{
    Tiempo1 := A_TickCount
    WinWaitNotActive ahk_exe java.exe
    Tiempo += A_TickCount - Tiempo1
}
SetTimer Etiqueta, -500
Return

F10::FileAppend % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)`r`n", % A_Desktop . "\tiempo.txt"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
Utiliza las etiquetas [code][/code] cuando pongas un script.
Bertini ---> Ahora si está bien creo que el script hace su funcion gracias eso sería todo sobre este apartado

Code: Select all


Tiempo := 0
SetTimer Etiqueta, -500
Return

Etiqueta:
If (WinActive("ahk_exe java.exe"))
{
    Tiempo1 := A_TickCount
    WinWaitNotActive ahk_exe java.exe
    Tiempo += A_TickCount - Tiempo1
}
SetTimer Etiqueta, -500
Return

F10::FileAppend % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)`r`n", % A_Desktop . "\tiempo.txt"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}

No me burlo de los novatos,porque de ellos vengo
Romero
Posts: 4
Joined: 02 Jan 2021, 00:09

Re: Contador de tiempo ejecución del programa

10 Jan 2021, 15:52

hola compañeros buena tarde, que se le debe de agregar al código ya descrito para poder incrementar la fuente, ya que los numero son muy pequeños tengo este inconveniente también en otros script. Nota no soy programador . Gracias de antemano por compartir sus conocimientos. saludos

Code: Select all

F10:: ToolTip % FormatSeconds(Tiempo//1000) " (" . Tiempo . " ms)"
FormatSeconds(NumberOfSeconds)
{
    time := 19990101
    time += %NumberOfSeconds%, seconds
    FormatTime mmss, %time%, mm:ss
    return NumberOfSeconds//3600 ":" mmss
}
[Mod edit: [code][/code] tags added.]

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 35 guests