COMO QUE EU POSSO FAZER ISTO?

USUARIO.EXCLUIDOS 29/05/2005 18:58:24
#85793
o usuário abriu meu programa certo... aí se ele passar uns 5min... e ele não mexer em nada... não mexer com computador (digitar nada no teclado... e naum mexer com o mouse..) o programa sai.... mas se ele mexer naum acontece nada....


valew !!
MARCELO.VB.PIRA 29/05/2005 20:17:22
#85807
hummmm... ja tentei isso.. é meio cmplicado...

vc pode fazer o seguinte:

quando abrir o programa, manada para um form e lá neste form vc poe um timer para 5 minutos...
e um botão com a insvcrição (avançar) e um label com um texto tipo:"bem vnido ao sistema, etc,etc,etc)

se ele teclar no avançar , desliga o form do timer e continua o programa na boa...
se ele não clicar em 5 minutos, sai do sistema...

pode ser uma ideia???
USUARIO.EXCLUIDOS 29/05/2005 20:25:18
#85810
Nao Sei se Isso te Ajuda ou te da uma Ideia

Vamos la

No modulo bas

Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

Public Type PointAPI
X as Long
Y as Long
End Type

Public Contador as Integer
Public LastPosition as Long
Public Position as Long

No Evento do mouse_Move do Form

PointAPI.X = X
PointAPI.Y = Y

No Controle Timer

1º Defina Timer1.interval = 1000

Private Sub Timer1_Timer()

Contador = Contador +1

LastPosition = GetCursorPos(PointAPI)

IF GetCursorPos(PonitAPI) = LastPosition
IF Contador = 300 then 'Equivale a 5 Minutos
end
end IF
End IF

End Sub








MARCELO.VB.PIRA 31/05/2005 01:44:21
#86032
mas teria que ter algo para "vigiar" o teclado tb.. e isso vc teria que fazer em cada form...
TRUHILLO 31/05/2005 07:36:42
#86042
Tem as rotinas de captura de teclas aqui no VBMania que podem ser usadas para saber se o usuário está teclando algo.

Com essa rotina e a rotina de captura de movimento do mouse, vc poderá determinar se o usuário não está usando o computador.
USUARIO.EXCLUIDOS 04/06/2005 01:33:43
#86945
mas e o movimento do mouse???
FORMIGINHA 04/06/2005 11:23:14
#86969
coloque um timer em seu frm q esta abreto com o intervalo de 5minutos e digite o seguinte codigo:

end

não esqueça de finalizar o topico.
USUARIO.EXCLUIDOS 04/06/2005 11:29:53
#86970
bom ai vai:

-------------

Private Declare Function GetCursorPos Lib "user32" (lpPoint As PointAPI) As Long

Private Type PointAPI
X As Long
Y As Long
End Type

Dim Counter As Integer
Dim LastPosition As PointAPI
Dim NowPosition As PointAPI
Dim NP As PointAPI

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
GetCursorPos LastPosition
End Sub

'-----------------------------
'Defina Timer1.interval = 1000

Private Sub Timer1_Timer()

GetCursorPos NowPosition

If NowPosition.X = LastPosition.X And NowPosition.Y = LastPosition.Y Then
If Counter = 300 Then 'Equivale a 5 Minutos
End
Else
Counter = Counter + 1
End If
End If
End Sub

-------------
Testado e aprovado
USUARIO.EXCLUIDOS 05/06/2005 15:44:22
#87129
Crie uma sub e uma variavel publica como mostro aqui

Public tempo As Date

Public Sub ZeraTempo()
tempo = Time
End Sub

Em todos os botões e no formulário coloque uma chamda para esta sub "ZeraTempo"
E no "Form_MouseMove" coloque também uma chamada para esta Sub.

Coloque um Timer com a propriedade "Interval" como 1000 (isto é, 1 seg).
Coloque no código no Timer a segunte sub.

Private Sub Timer1_Timer()
if tempo+300 >= Time then End
End Sub

Ou seja o Timer testará a cada segundo se possou 300 segundos (5 min) da útima operação realizada.
Se vc clicar ou mover o mouse sobre qualquer controle, ele zera esta propriedade e começa a conata novamente o tempo.

Simples e funcional!
USUARIO.EXCLUIDOS 11/06/2005 00:50:03
#88396
putz... tá mto complicado essas paradas pa entender... se alguem tiver um projetinho aí.. ficaria mto grato!
Tópico encerrado , respostas não são mais permitidas