當前位置:編程學習大全網 - 編程語言 - 跪求惡搞編程?

跪求惡搞編程?

1樓這是禁止win鍵代碼

Option Explicit

Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long

Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpvDest As Any, ByVal lpvSource As Long, ByVal cbCopy As Long)

Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Public Type KEYMSGS

vKey As Long

sKey As Long

flag As Long

time As Long

End Type

Public Const WH_KEYBOARD_LL = 13

Public Const VK_LWIN = &H5B

Public Const VK_RWIN = &H5C

Public Const VK_CONTROL = &H11

Public Const VK_SHIFT = &H10

Public Const HC_ACTION = 0

Public Const HC_SYSMODALOFF = 5

Public Const HC_SYSMODALON = 4

Public Const WM_KEYDOWN = &H100

Public Const WM_KEYUP = &H101

Public Const WM_SYSKEYDOWN = &H104

Public Const WM_SYSKEYUP = &H105

Public P As KEYMSGS

Public lHook As Long

Public Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Dim fEatKeystroke As Boolean

If (nCode = HC_ACTION) Then

If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Or wParam = WM_KEYUP Or wParam = WM_SYSKEYUP Then

CopyMemory P, ByVal lParam, Len(P)

Select Case P.vKey

Case VK_LWIN, VK_RWIN '如果按了WIN鍵

fEatKeystroke = True '就吃了

End Select

End If

End If

If fEatKeystroke Then

LowLevelKeyboardProc = -1

Else

LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, ByVal lParam)

End If

End Function

希望采納

  • 上一篇:學校慶元旦活動方案範文
  • 下一篇:淘寶店鋪模具加工類取名字_冉賢淖鐘心男_
  • copyright 2024編程學習大全網