Save over $500 on your weekly grocery bills. For complete details or to place your order, please visit http://www.quickreports.com/grocery
If you are not a paid subscriber, you must have signed up for our free trial at http://www.codeoftheweek.com. Our ezine is not an unsolicited message (in other words a spam email). Keep in mind that if you signed up for our free trial you can still receive a total of four issues at no cost to you. After you receive the four issues you will be notified about continuing your subscription.
If you do not wish to continue to receive this ezine, please email us at firstname.lastname@example.org
The source code in this issue is designed for Visual Basic 4.0 32-bit and above. It is for any level programmer.
If you have any questions about this issue, please email us at email@example.com
This issue introduces routines to enable and disable the ctrl-alt-del key combination. This can be useful in utilities where interrupting it can cause major problems (such as disk editors) or maybe you are just writing a simple screen saver. It can also be useful in an environment where security is a major concern and you do not want the general user to be able to terminate tasks at their discretion.
These routines accomplish the task of enabling/disabling the Ctrl-Alt-Del keystrokes by making Windows think that your application is a screen saver.
Public Sub DisableCtrlAltDel() Public Sub EnableCtrlAltDel()
If any errors occur they will be raised to the caller with an error number of 5000. The error description will contain the error code returned by the SystemParametersInfo function.
This example shows how to use the subroutines.
On Error Resume Next DisableCtrlAltDel If Err <> 0 Then MsgBox "An error occurred disabling the Ctrl-Alt-Del keys: " & Err.Description End If
Just paste this source code into a module called basKeyboard and include it in your project.
'---------------------------------------------------------------------- ' ' Class Name: basKeyboard ' Written By: C&D Programming Corp. ' Create Date: 2/98 ' Copyright: Copyright 1998 by C&D Programming Corp. Source ' code may not be reproduced except for use in a ' compiled executable. All rights reserved. If ' you would like to reprint any or all of this ' code please email us at firstname.lastname@example.org '---------------------------------------------------------------------- Option Explicit ' ' The routines in this module were only tested under Windows 95. They should work ' under Windows 95/98/NT. ' Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _ (ByVal uAction As Long, ByVal uParam As Long, _ ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long Public Const SPI_SCREENSAVERRUNNING = 97 ' ' Disable Crtl+Alt+Del key combination. This routine works by making Windows think that ' your application is a screen saver. ' ' If an error occurs, this routine will generate an error 5000 (just picked this ' at random). ' Public Sub DisableCtrlAltDel() Dim lRet As Long ' If the second parameter is True the Ctrl-Alt-Del keyboard combination will be ' disabled since Windows will think a screen saver is running. If it is False ' Ctrl-Alt-Del will behave as normal and show the Close Program dialog box. lRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, vbNull, 0) If lRet <> 0 Then Err.Raise 5000, "DisableCtrlAltDel", "Error " & _ lRet & " occurred while attempting to disable Ctrl-Alt-Del." End If End Sub ' ' Enable Crtl+Alt+Del key combination. This routine works by making Windows think that ' your application is a screen saver. ' ' If an error occurs, this routine will generate an error 5000 (just picked this ' at random). ' Public Sub EnableCtrlAltDel() Dim lRet As Integer ' If the second parameter is True the Ctrl-Alt-Del keyboard combination will be ' disabled since Windows will think a screen saver is running. If it is False ' Ctrl-Alt-Del will behave as normal and show the Close Program dialog box. lRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, vbNull, 0) If lRet <> 0 Then Err.Raise 5000, "EnableCtrlAltDel", "Error " & _ lRet & " occurred while attempting to enable Ctrl-Alt-Del." End If End Sub
That concludes this issue of COTW. We hope you find the source code useful in your development.
The below describes the ways you can supply us some feedback about COTW. We would like to see our members help mold COTW into the best Visual Basic source code resource available. But to do that we need your feedback about what you like and what you do not like about COTW.
If you are interested in advertising in COTW please email us at email@example.com Our rates are VERY reasonable, actually they are almost FREE. We reach over three thousand Visual Basic developers each week.
If you have any suggestions for topics you would like to see covered or questions about this issue, please email them to firstname.lastname@example.org or use online feedback form at http://www.codeoftheweek.com/feedback.html.
If you have any source code you would like to submit for possible inclusion in COTW, please fill out our online submission form at http://www.codeoftheweek.com/submission.html.
Thank you for trying Code of the Week for Visual Basic.
Your free trial expires after you receive your fourth issue. If you want to continue to receive Code of the Week you can get 52 issues of COTW for only $19.95. This is a full year of Visual Basic source code and information to help with all your development. So don't wait, subscribe now! The quickest way to subscribe is to jump to our online order form at http://www.codeoftheweek.com/order.html