Cool WinAPI procedure, check it out!
- Posted by "William Heimbigner" <icxcnika at hotpop.com> Sep 14, 2004
- 445 views
The blockInput procedure blocks keyboard and mouse input events from reaching applications. The code for it is as follows:
include win32lib.ew constant xBlockInput=registerw32Procedure(user32,"BlockInput",{C_INT}) global procedure blockInput(atom fBlockIt) --1 for block, 0 for unblock w32Proc(xBlockInput,{fBlockIt}) end procedure
Remarks: When input is blocked, real physical input from the mouse or keyboard will not affect the input queue's synchronous key state (reported by GetKeyState and GetKeyboardState), nor will it affect the asynchronous key state (reported by GetAsyncKeyState). However, the thread that is blocking input can affect both of these key states by calling SendInput. No other thread can do this. The system will unblock input in the following cases: The thread that blocked input unexpectedly exits without calling BlockInput with fBlock set to FALSE. In this case, the system cleans up properly and re-enables input. <li>Windows 95/98/Me: The system displays the Close Program/Fault dialog box. This can occur if the thread faults or if the user presses CTRL+ALT+DEL. <li>Windows 2000/XP: The user presses CTRL+ALT+DEL or the system invokes the Hard System Error modal message box (for example, when a program faults or a device fails). William Heimbigner icxcnika at hotpop.com Visit the UBoard - Forceful Signups Removed! - http://uboard.proboards32.com - Threaded discussion, improved searching, human moderating, graphical smileys, better formatting abilities (now what else was there...) Visit my website: http://www.geocities.com/icxcnika123