如何讓 Ctrl+Alt+Del ,Alt+Tab,Ctrl+Esc組合鍵無效 
 
  
  
         
 想要讓 這些組合鍵無效(不會調出 Windows 95的「關閉視窗」交談窗,或轉換視窗等等),可呼叫SystemParametersInfo API 函數, 細節如下: 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    Dim pOld As Boolean
    Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, pOld, 0) 如果想將這些的功能還原, 則是:    Dim pOld As Boolean
    Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, pOld, 0) 註:此一方案只適用於 Windows 95, NT 並不適用。
 
 

解决方案 »

  1.   

    使用SystemParametersInfo函数
    声明如下:
    Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
    使用:
    call SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, false, 0)
      

  2.   

    turbochen,那只能屏蔽掉 ctrl+alt+del可是屏蔽不了alt+f4啊???
      

  3.   

    禁止使用 Alt+F4 关闭窗口
    Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
    Private Const MF_BYPOSITION = &H400&
    Private Sub Form_Load()
    Dim hwndMenu As Long
    Dim c As Long
    hwndMenu = GetSystemMenu(Me.hwnd, 0)
    c = GetMenuItemCount(hwndMenu)
    DeleteMenu hwndMenu, c - 1, MF_BYPOSITION
    c = GetMenuItemCount(hwndMenu)
    DeleteMenu hwndMenu, c - 1, MF_BYPOSITION
    End Sub
    ------------------------------------------------------
      

  4.   

    在VB中控制Ctrl+Del+Alt键 下面的子程序能让你自由控制Ctrl-Alt-Del的使用。 在您的程序中通过以下代码调用该函数: AllowKeys(False) 注释: 禁用Ctrl+Del+Alt键 AllowKeys(True) 注释: 允许使用Ctrl+Del+Alt键 
    复制以下代码到程序中的某个模块: 
    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 Public Sub AllowKeys(bParam as Boolean) Dim lRetVal As Long, bOld As Boolean lRetVal = SystemParametersInfo(SPI_SCREENSAVERRUNNING, bParam, bOld, 0&) End Sub