![]() |
Languages »
VB.NET »
HowTo
Intermediate
How to lock keyboard and mouse on XPBy InnovathisThis is a simple explanation - how to lock the keyboard and mouse. |
VB, VC7.NET 1.1, WinXPVS.NET2003, Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
I decided to write this article because it took me a long time to find an answer to this question, and surprisingly, most places I searched gave me the answer that this task is impossible on XP!
Well, it is possible!!!
Here is a simple VB.NET code which demonstrates how to do this:
' must have this in order to use the SendKeys function
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
Here is an example of using this function:
WinControl.Wait2Send("Calculator","22*22{ENTER}",30);
In this example, the function will wait 30 seconds for some application window with the caption: "Calculator" to appear. While waiting, it locks the keyboard and mouse.
If such an application window exists or will appear in the given 30 seconds, it will be given the key stroke - 22*22 and then the ENTER special key. If you activate your calculator, you will get the result to this calculation.
You can get further help on:
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 6 Sep 2004 Editor: Smitha Vijayan |
Copyright 2004 by Innovathis Everything else Copyright © CodeProject, 1999-2009 Web15 | Advertise on the Code Project |