VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 禁用 Alt-Tab 或 Ctrl-Alt-Del
发表评论(0)作者:, 平台:, 阅读:12912, 日期:2000-03-12
禁用 Alt-Tab 或 Ctrl-Alt-Del



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)