Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than user32, prefix the name with the module name and a period.
Declare Fuhhhhhon BlockInput Lib "user32" (ByVal fBlockIt As Boolean) As Boolean
Or use:
''' <summary>The BlockInput function blocks keyboard and mouse input events from reaching applications
''' </summary>
''' <param name="fBlockIt">[in] Specifies the function's purpose. If this parameter is non-zero, keyboard
''' and mouse input events are blocked. If this parameter is zero, keyboard and mouse events are unblocked.
''' </param>
''' <returns>If the function succeeds, the return value is nonzero.
''' If input is already blocked, the return value is zero.
''' To get extended error information, call Marshal.GetLastWin32Error()</returns>
''' <remarks>Note that only the thread that blocked input can successfully unblock input</remarks>
<DllImport("user32.dll", EntryPoint:="BlockInput", SetLastError:=True, CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)>
Friend Shared Function BlockInput(fBlockIt As Boolean) As Integer
End Function
Note that this definition does not use Boolean input and return types
Notes:
This method requires administrator rights.
Blocks or unblocks mouse and keyboard input.
Can be disabled by pressing Ctrl+Alt+Del.
Tips & Tricks:
Useful to create a temporary block in input for sensitive GUI operations. For instance when manually activating a screen saver from within a GUI function, a short blocking delay will prevent the user mouse movements directly after selection from accidently escaping the screen saver.
Sample Code:
VB.Net:
Class BlockInput
<DllImport("user32.dll", EntryPoint:="BlockInput", SetLastError:=True, CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)>
Friend Shared Function BlockInput(fBlockIt As Boolean) As Boolean
End Function
Friend Shared Function DisableInput(makeDisabled As Boolean) as Boolean
Return BlockInput(makeDisabled)
End Function
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).