Cool WinAPI procedure, check it out!

new topic     » topic index » view thread      » older message » newer message

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

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu