当用户按下这些组合键时,Windows会发送WM_SYSCOMMAND消息,你可以在程序中截取这个消息,封锁某些组合键。在Windows 95/98下还可以使用SystemParametersInfo(SPI_SCREENSAVERRUNNING)使Windows认为你的程序是个屏幕保护程序,从而禁止程序切换。例子: 1. 建立一个标准EXE工程。 2. 添加两个按钮(Command1 and Command2)。 3. 添加下面的代码到Form1的说明部分: Private 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
Private Sub Form_Load() Command1.Caption = "Disabled" Command2.Caption = "Enabled" End Sub
Private Sub Form_Unload(Cancel As Integer) 'Re-enable CTRL+ALT+DEL and ALT+TAB before the program terminates. Command2_Click End Sub
Private Sub Command1_Click() Dim lngRet As Long Dim blnOld As Boolean lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, _ blnOld, _ 0&) End Sub
Private Sub Command2_Click() Dim lngRet As Long Dim blnOld As Boolean lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, _ blnOld, _ 0&) End Sub
参考: Typename, Disabling Keys in Windows XP with TrapKeys : http://msdn.microsoft.com/msdnmag/issues/02/09/CQA/default.aspxWindows XP系统中如何屏蔽 Ctrl+Alt+Del、Alt+Tab以及Ctrl+Esc键序列: http://www.vckbase.com/document/viewdoc.asp?id=424
1. 建立一个标准EXE工程。
2. 添加两个按钮(Command1 and Command2)。
3. 添加下面的代码到Form1的说明部分:
Private 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
Private Sub Form_Load()
Command1.Caption = "Disabled"
Command2.Caption = "Enabled"
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Re-enable CTRL+ALT+DEL and ALT+TAB before the program terminates.
Command2_Click
End Sub
Private Sub Command1_Click()
Dim lngRet As Long
Dim blnOld As Boolean
lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, _
blnOld, _
0&)
End Sub
Private Sub Command2_Click()
Dim lngRet As Long
Dim blnOld As Boolean
lngRet = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, _
blnOld, _
0&)
End Sub
http://expert.csdn.net/Expert/topic/2747/2747085.xml?temp=.5711176
http://expert.csdn.net/Expert/topic/2778/2778451.xml?temp=.5226557http://www.1cplusplusstreet.com/vb/scripts/ShowCode.asp?txtCodeId=4163&lngWId=3給四個參考地址
Typename, Disabling Keys in Windows XP with TrapKeys :
http://msdn.microsoft.com/msdnmag/issues/02/09/CQA/default.aspxWindows XP系统中如何屏蔽 Ctrl+Alt+Del、Alt+Tab以及Ctrl+Esc键序列:
http://www.vckbase.com/document/viewdoc.asp?id=424