c语言VK_SPACE什么意思,以下键盘监视程序,换成VK_ESCAPE就什么反应都没有

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

求解~~~我想监视Esc键

模块:

Public Const WH_KEYBOARD = 2

Public Const VK_SHIFT = &H10

Public Const VK_ESCAPE = &H1B

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

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

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

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

Public hHook As Long

Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

If idHook < 0 Then

KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)

Else

If GetKeyState(VK_SHIFT) = 0 Then      '换成VK_ESCAPE就什么反应都没有

Form1.Cls

Form1.Print "你按下了Shift键"

End If

KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)

End If

End Function

=====================

窗体:Private Sub Form_Load()

hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, App.ThreadID)

End Sub

Private Sub Form_Unload(Cancel As Integer)

UnhookWindowsHookEx hHook

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值