Usuário com melhor resposta
como bloquear teclado e mouse

Pergunta
-
Respostas
-
alessandre,
Acho que seria o caso de bloquer o input somente na sua aplicação.
O jeito mais simples seria você setar a propriedade Enabled do seu form para False, assim o seu usuário não conseguiria "interagir" com a sua aplicação.
at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)- Marcado como Resposta alessandre quinta-feira, 30 de junho de 2011 16:22
Todas as Respostas
-
Bom espero que isso te ajude, BlockInput:
http://msdn.microsoft.com/en-us/library/ms646290Declare Function BlockInput Lib "User32" (ByVal fBlockIt As Boolean) As Boolean 'Bloqueia teclado e mouse BlockInput(True) 'Desbloqueia teclado e mouse BlockInput(False)
Exemplo completo:
Imports System.Windows.Forms Public Class WinControl 'This is the function used in order to block the keyboard and mouse: Declare Function BlockInput Lib "User32" (ByVal fBlockIt As Boolean) As Boolean 'This function will block the keyboard and mouse untill a window with 'the specify caption will appear or the given time in seconds has 'past ( 0 seconds - wait forever). 'If the window with the caption appears than the given key is send 'to it and the input block is removed. Public Shared Function Wait2Send(ByVal caption As String, ByVal keys As String, ByVal seconds As Integer) 'Indicates if the window with the given caption was found Dim success As Boolean = False 'Start time of the function Dim now As DateTime = DateTime.Now 'Begining of keyboard and mouse block BlockInput(True) While (success = False And (DateTime.Now.Subtract(now).Seconds < seconds Or seconds = 0)) Try 'Activating the window with desired function 'if the window is not found an exception is thrown. AppActivate(caption) 'Sending desired key stroke to the application window SendKeys.SendWait(keys) 'Indicates the window was found and keys sent success = True Catch 'Assuming window was not found and sleep for 100 miliseconds System.Threading.Thread.Sleep(100) End Try End While 'Release the keyboard block BlockInput(False) End Function End Class
http://www.codeproject.com/KB/vb/LockKeyboard.aspx
- Sugerido como Resposta Eduardo Cury quinta-feira, 30 de junho de 2011 03:23
-
alessandre,
Acho que seria o caso de bloquer o input somente na sua aplicação.
O jeito mais simples seria você setar a propriedade Enabled do seu form para False, assim o seu usuário não conseguiria "interagir" com a sua aplicação.
at.,
Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)- Marcado como Resposta alessandre quinta-feira, 30 de junho de 2011 16:22
-
-
Olá Eduardo,
O BlockInput funcionou perfeitamente, mas ele bloqueia apenas a interação com a minha aplicação. Gostaria de saber se tem alguma maneira de ele funcionar com todo o windows até que minha aplicação rode uma determinada tarefa.
Obrigado
Janaílton Gonçalves