Olha, consegui fazer só com o primero codigo que você postou, mas isso só resolve meu problema em parte porque ainda fica possível que o usuário aperte alt + tab por exemplo e continue usando normalmente o computador mesmo após expirar seu tempo. A minha idéia era tentar usar um comando que impedisse o programa de executar a função pré definida pelo windows sempre que o usuário apertasse uma combinação de teclas.Basicamente ficaria assim: dim altpressionado, f4pressionado as boolean
Private Sub me_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Alt
altpressionado = true
Case Keys.F4
f4pressionado = true
End Select
End Sub
Private Sub me_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
Select Case e.KeyCode
Case Keys.Alt
altpressionado = false
Case Keys.F4
f4pressionado = false
End Select
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If altpressionado = true and f4pressionado = true then
'comando mágico que cancela a ação padrão
end if
End Sub
P.S, moderador: use as tags 'code' ( Dessa maneira eu poderia desabilitar vários atalhos de uma vez só, o que não ocorre quando eu faço do primeiro jeito. De qualquer forma muito obrigado, BertognaJr. ) para referir a código fonte!