首页>
知识库>
详情

禁止使用Alt-Tab或Ctrl-Alt-Del

2020-07-06 来源:CloudBest 阅读量: 0
关键词:

  Private Declare Function EnableWindow Lib "user32" (ByVal hWnd As Integer, ByVal aBOOL As Integer) As Integer

  Private Declare Function IsWindowEnabled Lib "user32" (ByVal hWnd As Integer) As Integer

  Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Integer) As Integer

  Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

  Private 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

  Private TaskBarhWnd As Long

  Private IsTaskBarEnabled As Integer

  Private TaskBarMenuHwnd As Integer

  '禁止或允许使用 Alt-Tab

  Sub FastTaskSwitching(bEnabled As Boolean)

  Dim X As Long, bDisabled As Long

  bDisabled = Not bEnabled

  X = SystemParametersInfo(97, bDisabled, CStr(1), 0)

  End Sub

  '禁止使用Ctrl-Alt-Del

  Public Sub DisableTaskBar()

  Dim EWindow As Integer

  TaskBarhWnd = FindWindow("Shell_traywnd", "")

  If TaskBarhWnd <> 0 Then

  EWindow = IsWindowEnabled(TaskBarhWnd)

  If EWindow = 1 Then

  IsTaskBarEnabled = EnableWindow(TaskBarhWnd, 0)

  End If

  End If

  End Sub

  '允许使用Ctrl-Alt-Del

  Public Sub EnableTaskBar()

  If IsTaskBarEnabled = 0 Then

  IsTaskBarEnabled = EnableWindow(TaskBarhWnd, 1)

  End If

  End Sub

  禁止 Ctrl+Alt+Del

  声明(For Win95):

  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)