如何禁止使用者按下 Ctrl+Alt+Del ?
應該說:「如何讓 Ctrl+Alt+Del 組合鍵無效?」, 使用者有其自由意志, 想按什麼鍵就按什麼鍵, 這豈是程式可以禁止的, 當然, 如果您能夠讓使用者在按下 Ctrl+Alt+Del 時被電一下, 那麼也不失為一個好方法?
想要讓 Ctrl+Alt+Del 組合鍵無效(不會調出 Windows 95 的「關閉視窗」交談窗), 可呼叫 SystemParametersInfo API 函數, 細節如下:
1. API 的宣告:
Const SPI_SCREENSAVERRUNNING = 97
Private Declare Function SystemParametersInfo Lib "user32" Alias
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam
As Any, ByVal fuWinIni As Long) As Long
註:如果以上的宣告放在「一般模組」底下, 應在
Const 之前加上 Public 保留字, 並且將 Private 保留字去掉。
2. 程式範例:
Dim pOld As Boolean
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0)
如果想將 Ctrl+Alt+Del 的功能還原, 則是:
Dim pOld As Boolean
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld, 0)
註:此一方案只適用於 Windows 95, NT 並不適用。