Leonardo!
Adicionei a função e compilou.
Mas não entendi direito como ajustar.
Por exemplo:
Colocar se o sistema estiver inativo por 20 minutos.
O que coloco nesses parametros?
nTask := HB_BackGroundAdd( {|| Fecha_auto() }, 1500 )
e
if ( timetosec(time()) - timetosec(pcTimeAtu) ) > 5 // 5 cinco segundos
outra coisa:
Essa rotina é só para gets, ou sistema inteiro?
Por exemplo deixar a tela principal do sistema aberta,sistema minimizado, só passar o mouse sem clicar, também funciona?
Paulo
Timer com WVW
Moderador: Moderadores
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Timer com WVW
Olá Paulo,
Você precisa ter uma variável contando o seu tempo de inatividade e usar GETINPUTSTATE() para ver o tempo em milésimos de segundos que o sistema está em atividade( tanto teclado e mouse ), entenda que o GETINPUTSTATE() diz o tempo de ATIVIDADE do computador e não de INATIVIDADE.
Exemplo:
MSGINFO( SecToTime(GETINPUTSTATE()/1000) )
Foi postado vários exemplos, mas a logica toda de como fazer isso não postado.pauloa1 escreveu: Colocar se o sistema estiver inativo por 20 minutos.
O que coloco nesses parametros?
nTask := HB_BackGroundAdd( {|| Fecha_auto() }, 1500 )
e
if ( timetosec(time()) - timetosec(pcTimeAtu) ) > 5 // 5 cinco segundos
Você precisa ter uma variável contando o seu tempo de inatividade e usar GETINPUTSTATE() para ver o tempo em milésimos de segundos que o sistema está em atividade( tanto teclado e mouse ), entenda que o GETINPUTSTATE() diz o tempo de ATIVIDADE do computador e não de INATIVIDADE.
Exemplo:
MSGINFO( SecToTime(GETINPUTSTATE()/1000) )
Hoje atualmente eu mudei para o TIMER da Hwgui, e funciona em todo o sistema, do que lembro quando usava HB_BackGroundAdd() também rodava em todo os sistema, mas tanto o HB_BackGroundAdd() como o TIMER da Hwgui eles não são rotinas MT que rodam varias rotinas ao mesmo tempo, então entenda que se tiver processando algum processo de por exemplo geração de dados para um relatório esse outro processo fica na fila para ser processado assim que liberar o processo atual, então entenda que por inatividade não basta o teclado e mouse não está sendo usado, mas também tem que está parado de processo de um laço como um DO WHILE, FOR NEXT e etc...Essa rotina é só para gets, ou sistema inteiro?
Por exemplo deixar a tela principal do sistema aberta,sistema minimizado, só passar o mouse sem clicar, também funciona?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
