none
Como fazer o form fechar automaticamente após 5 minutos de inatividade em VB? RRS feed

  • Pergunta

  • Bom eu estou produzindo um controle de estoque em VB e tenho uma duvida, como fechar o programa após 5 minutos de inatividade sem tocar no Mouse ou no Teclado do computador em Visual Basic?

    Desde já muito obrigado à todos :)

    quarta-feira, 16 de novembro de 2016 18:48

Respostas

  • Assim amigo.

    Codigo

    Public Class Form1
    
        'coded by pjoao
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.Timer1.Enabled = True 'da start na timer
            Me.Timer1.Start()
            Me.Timer1.Interval = 10000 'tempo de 10 segundos
            xx = MousePosition.X
        End Sub
    
        Public xx As Integer = 0 'pegar movimento
        Public Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            If (xx = MousePosition.X) Then 'verificar se o mouse esta no mesmo lugar ou ele se movimento.
                End 'caso esteja no mesmo lugar finalizar aplicativo
            Else
                xx = MousePosition.X 'pegar movimento
                Me.Label1.Text = (MousePosition.X)
            End If
        End Sub
    
        Private Sub Form1_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
            xx = MousePosition.X 'pegar movimento
            Me.Timer1.Enabled = True 'timer fora da form da start
        End Sub
    
        Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
            If (e.Clicks = 0) Then 'timer dentro da forme da stop
                Me.Timer1.Enabled = False
            End If
        End Sub
    End Class

    quarta-feira, 16 de novembro de 2016 20:35

Todas as Respostas

  • Aqui esta um artigo que explica como fazer isso:

    http://www.codeguru.com/columns/vb/how-to-check-for-application-inactivity-in-.net-2010.htm

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quarta-feira, 16 de novembro de 2016 18:56
    Moderador
  • Vinicius, 

    Você precisa monitorar apenas quando o Form estiver ativo e com foco? Ou mesmo quando a aplicação está minimizada ou em segundo plano?


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    quarta-feira, 16 de novembro de 2016 18:56
  • Então Juliano, com ele minimizado também. 
    quarta-feira, 16 de novembro de 2016 19:19
  • Assim amigo.

    Codigo

    Public Class Form1
    
        'coded by pjoao
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.Timer1.Enabled = True 'da start na timer
            Me.Timer1.Start()
            Me.Timer1.Interval = 10000 'tempo de 10 segundos
            xx = MousePosition.X
        End Sub
    
        Public xx As Integer = 0 'pegar movimento
        Public Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            If (xx = MousePosition.X) Then 'verificar se o mouse esta no mesmo lugar ou ele se movimento.
                End 'caso esteja no mesmo lugar finalizar aplicativo
            Else
                xx = MousePosition.X 'pegar movimento
                Me.Label1.Text = (MousePosition.X)
            End If
        End Sub
    
        Private Sub Form1_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
            xx = MousePosition.X 'pegar movimento
            Me.Timer1.Enabled = True 'timer fora da form da start
        End Sub
    
        Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
            If (e.Clicks = 0) Then 'timer dentro da forme da stop
                Me.Timer1.Enabled = False
            End If
        End Sub
    End Class

    quarta-feira, 16 de novembro de 2016 20:35
  • muito obrigado João Paulo :) 
    quarta-feira, 16 de novembro de 2016 21:37
  • Bom dia Vinicius Avancii,

    Por gentileza, marque como resposta aquela que te ajudou a solucionar o problema.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quinta-feira, 17 de novembro de 2016 12:30
    Moderador