Mega Code Archive

 
Categories / Delphi / API
 

Preventing windows task switching

Question: How do I prevent task switching (Alt-Tab, Ctrl-Esc, Ctrl-Alt-Del) in my application? Answer: Preventing a user from switching to another application is possible under Windows 95 and earlier versions of Windows by tricking Windows into thinking the screen saver is running. This method does not work under Windows NT, and is not guaranteed to be available in future versions of Windows. Many versions of Windows may also respond to a task switching trap installed by a CBT (Computer Based Training) application hook. To prevent task switching under Windows NT, you will need access to a third party keyboard device device driver. The following code will trick Windows into believing that the screen saver is running: var OldValue : LongBool; begin {turns the trap on} SystemParametersInfo(97, Word(True), @OldValue, 0); {turns the trap off} SystemParametersInfo(97, Word(False), @OldValue, 0); end;