Cerrar Aplicación cuando no se use

Cerrar Aplicación cuando no se use

Postby davidObarrio » Thu Oct 31, 2013 9:42 pm

Hola AMIGOS....

Quiero cerrar mi Aplicación luego de cierto tiempo que no se use, alguien tendrá un ejemplo o implementado algo?

muchas gracias

Saludos

David
davidObarrio
 
Posts: 72
Joined: Tue Oct 02, 2012 4:36 pm

Re: Cerrar Aplicación cuando no se use

Postby quique » Mon Jan 13, 2014 5:30 pm

Se me ocurre utilizar un timer que vaya incrementando un contador, donde el contador determinará cuando quieres que se apague, cada vez que realices un proceso borras el contador para que el timer vuelva a empezar, si no se usa, no se reinicia el contador y al llegar al tiempo esperado cierras el programa
Saludos
Quique
User avatar
quique
 
Posts: 408
Joined: Sun Aug 13, 2006 5:38 am

Re: Cerrar Aplicación cuando no se use

Postby WilliamAdami » Wed Jan 15, 2014 8:38 pm

Hola, mira mi classe tinativo:

Saludos

William Adami


Code: Select all  Expand view

* exemplo do uso da classe Tinativo
* Apos um tempo de inatividade do mouse
* e do teclado chama uma funcao qualquer.

#include "fivewin.ch"

static oWnd

*************
function main
*************

nTempo_espera:=10          //Tempo a ser esperado ate chamar a funcao

cNome_funcao:="LOGOFF()"   //nome da funcao a ser chamada quando
                           //chegar no tempo de espera

lTimercontinua:=.f.       //se apos executar a funcao , continua monitorando
                          //a inatividade do mouse e teclado.

define window oWnd title "Teste de teclado e mouse"

activate window oWnd on init tinativo():new(nTempo_espera,cNome_funcao, lTimerContinua)

return NIL


function logoff

  msgalert("AQUI ENTRA SUA FUNCAO DE LOGOFF !","AVISO")

return nil





tinativo.prg

#include "fivewin.ch"

CLASS TINATIVO

  DATA nTimeInpAntes
  DATA nTimeInpDepois
  DATA cTimeAtu
  DATA nTempo
  DATA oTimerTime
  DATA cFunc
  DATA lContinuar

  METHOD NEW( nTime, cFuncao, lContinua )  CONSTRUCTOR

  METHOD ver_tempo()

ENDCLASS


**********************
METHOD new(ntime,cFuncao,lContinua) CLASS TINATIVO
**********************
::cfunc:=cfuncao
::ntempo:=ntime
::lContinuar:=lContinua
::oTimerTime := TTimer():New( 1000, { || ::VER_TEMPO() } )
::oTimerTime:Activate()
::cTimeAtu := time()
::nTimeInpAntes := getInputState()    // 0 = erro

return self


*************************
METHOD VER_TEMPO CLASS TINATIVO
*************************
::nTimeInpDepois := getInputState()
if ( ::nTimeInpDepois - ::nTimeInpAntes ) > 0
   ::nTimeInpAntes := getInputState()
   ::cTimeAtu := time()
endif


if ( CONVTIME(time()) - CONVTIME(::cTimeAtu) ) > ::ntempo
   ::oTimerTime:DeActivate()

   aux:=::cfunc
   
   * aqui executa a funcao

   &aux

   if ::lContinuar

      ::oTimerTime:Activate()
      ::cTimeAtu := time()

   endif


endif

return NIL


FUNCTION CONVTIME(ZZ)
Z:=(VAL(LEFT(ZZ,2))*360)+(VAL(SUBSTR(ZZ,4,2))*60)+VAL(RIGHT(ZZ,2))
RETURN Z


**----------------------------------------------------------------------
#pragma BEGINDUMP
#define _WIN32_WINNT 0x0500
#define WINVER 0x0500
#include "windows.h"
#include "hbapi.h"
HB_FUNC( GETINPUTSTATE )
{
LASTINPUTINFO lpi;
lpi.cbSize = sizeof(LASTINPUTINFO);
if (!GetLastInputInfo(&lpi))
{
hb_retni(0);
}
hb_retni(lpi.dwTime);
}
#pragma ENDDUMP
 
WilliamAdami
 
Posts: 68
Joined: Tue Apr 14, 2009 9:26 pm
Location: Brasil

Re: Cerrar Aplicación cuando no se use

Postby José Vicente Beltrán » Thu Jan 16, 2014 4:06 pm

William,
He probado la utilidad y funciona muy bién, me será util.
Gracias por el aporte. :shock:
User avatar
José Vicente Beltrán
 
Posts: 282
Joined: Mon Oct 10, 2005 8:55 am
Location: Algeciras, España

Re: Cerrar Aplicación cuando no se use

Postby karinha » Thu Jan 16, 2014 5:07 pm

William, Excelente!!!
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 84 guests