View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Bill Pfister Bill Pfister is offline
external usenet poster
 
Posts: 132
Default Disallow CTRL+ALT+DEL


Use this code then use the CAD_Disable and CAD_Enable subroutines to disable
and enable Ctrl-Alt-Del, respectively.



Option Explicit

Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_CURRENT_USER = &H80000001

Public Sub CAD_Disable()
Call ToggleCAD(True, HKEY_LOCAL_MACHINE)
Call ToggleCAD(True, HKEY_CURRENT_USER)
End Sub



Public Sub CAD_Enable()
Call ToggleCAD(False, HKEY_LOCAL_MACHINE)
Call ToggleCAD(False, HKEY_CURRENT_USER)
End Sub



Public Sub ToggleCAD(blnDisableTaskMgr As Boolean, lngUser As Long)
Dim oReg As Object
Dim strKeyPath As String
Dim strValueName As String
Dim dwValue As Long

Set oReg =
GetObject("winmgmts:{impersonationLevel=impersonat e}!\\.\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policie s\System\"
strValueName = "DisableTaskMgr"

oReg.DeleteValue lngUser, strKeyPath, strValueName

dwValue = IIf(blnDisableTaskMgr, 1, 0)
oReg.SetDWORDValue lngUser, strKeyPath, strValueName, dwValue
End Sub



"jutlaux" wrote:

If I do this on workbook open I would like to reenable CTRL+ALT+DEL on close.
To do this would I just change the follwoing?

strValueName = "EnableTaskMgr"


"Bill Pfister" wrote:

Sorry, I was being lazy - here's the code:

Option Explicit

Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_CURRENT_USER = &H80000001


Public Sub ToggleCAD()
Dim lngUser As Long
Dim blnDisableTaskMgr As Boolean
Dim oReg As Object
Dim strKeyPath As String
Dim strValueName As String
Dim dwValue As Long

blnDisableTaskMgr = True
blnDisableTaskMgr = False


lngUser = HKEY_LOCAL_MACHINE
lngUser = HKEY_CURRENT_USER

Set oReg =
GetObject("winmgmts:{impersonationLevel=impersonat e}!\\.\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policie s\System\"
strValueName = "DisableTaskMgr"

oReg.DeleteValue lngUser, strKeyPath, strValueName

dwValue = IIf(blnDisableTaskMgr, 1, 0)
oReg.SetDWORDValue lngUser, strKeyPath, strValueName, dwValue


End Sub



"jutlaux" wrote:

I copied the code, but when the message box comes up saying "CTRL+ALT+DEL is
disabled, try pressing CTRL+ALT+DEL now." I press it and it still works. I
have tried running just the Disable_Ctrl_Alt_Del program below and still
can't get it to work.

Public Sub Disable_Ctrl_Alt_Del()
'Disables the Crtl+Alt+Del
Dim AyW As Integer
Dim TurFls As Boolean
AwY = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, TurFls, 0)
End Sub

"Bill Pfister" wrote:

http://www.planet-source-code.com/vb...=1494&lngWId=1


"jutlaux" wrote:

I have a excel workbook that is via VBA goes out to various 3rd party
applications and gets data from them. The problem I have is that this is not
instantaneous and even tough I have a progress bar showing things moving
along the user will hit CTRL+ALT+DEL and end the task. This is not a problem
for excel, but the other software applications seem to be getting "hung up"
b/c the data transfer is not complete. Is there a way when this workbook is
opened to disable the CTRL+ALT+DEL function?

I have tried using:
Application.OnKey "^%{DEL}", "NotAllowed"
but nothing happens.

I have even tried just looking for the CTRL + ALT
Application.OnKey "^%", "NotAllowed"
but with this I get run-time error 1004

and if I change it to
Application.OnKey "^{%}", "NotAllowed"
or
Application.OnKey "%{^}", "NotAllowed"
nothing happens