永发信息网

使用GetAsyncKeyState实现的全局热键怎么设组合键?

答案:2  悬赏:70  手机版
解决时间 2021-04-06 19:51
使用GetAsyncKeyState实现的全局热键怎么设组合键?
最佳答案
我用F10键做例子啦。。具体自己做


'模块中
Option Explicit

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
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long

Public hnexthookproc As Long
Public Const HC_ACTION = 0
Public Const WH_KEYBOARD = 2

Public Sub UnHookKBD()
If hnexthookproc 0 Then
UnhookWindowsHookEx hnexthookproc
hnexthookproc = 0
End If
End Sub
Public Function EnableKBDHook()
If hnexthookproc 0 Then
Exit Function
End If
hnexthookproc = SetWindowsHookEx(WH_KEYBOARD, AddressOf MyKBHFunc, App.hInstance, 0)
If hnexthookproc 0 Then
EnableKBDHook = hnexthookproc
End If
End Function
Public Function MyKBHFunc(ByVal iCode As Long, ByVal wParam As Long, ByVal lParam A...侦测 有没有按到F10键
Form1;user32", iCode.hInstance, 0)
If hnexthookproc <, ByVal wParam As Long, wParam, lParam As Any) As Long

Public hnexthookproc As Long
Public Const HC_ACTION = 0
Public Const WH_KEYBOARD = 2

Public Sub UnHookKBD()
If hnexthookproc <, lParam)

Else
Call CallNextHookEx(hnexthookproc, lParam)
End If
End Function

'.Value = 1 ', AddressOf MyKBHFunc; (ByVal hHook As Long) As Long
Declare Function CallNextHookEx Lib ", wParam.Check1; Alias "。具体自己做

', iCode;>user32"我用F10键做例子啦; 0 Then
EnableKBDHook = hnexthookproc
End If
End Function
Public Function MyKBHFunc(ByVal iCode As Long, ByVal lpfn As Long;模块中
Option Explicit

Declare Function SetWindowsHookEx Lib "。;>讯息要处理
If iCode Exit Function
End If
If wParam = 121 Then ', ByVal dwThreadId As Long) As Long
Declare Function UnhookWindowsHookEx Lib ", iCode; 0 Then
Exit Function
End If
hnexthookproc = SetWindowsHookEx(WH_KEYBOARD, ByVal lParam As Long) As Long

MyKBHFunc = 0 'Check选中
Call CallNextHookEx(hnexthookproc; 0 Then
MyKBHFunc = CallNextHookEx(hnexthookproc; 0 Then
UnhookWindowsHookEx hnexthookproc
hnexthookproc = 0
End If
End Sub
Public Function EnableKBDHook()
If hnexthookproc <, ByVal wParam As Long, ByVal ncode As Long, App;> (ByVal hHook As Long, ByVal hmod As Long
全部回答
我用f10键做例子啦。。具体自己做 '模块中 option explicit 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 declare function callnexthookex lib "user32" (byval hhook as long, byval ncode as long, byval wparam as long, lparam as any) as long public hnexthookproc as long public const hc_action = 0 public const wh_keyboard = 2 public sub unhookkbd() if hnexthookproc <> 0 then unhookwindowshookex hnexthookproc hnexthookproc = 0 end if end sub public function enablekbdhook() if hnexthookproc <> 0 then exit function end if hnexthookproc = setwindowshookex(wh_keyboard, addressof mykbhfunc, app.hinstance, 0) if hnexthookproc <> 0 then enablekbdhook = hnexthookproc end if end function public function mykbhfunc(byval icode as long, byval wparam as long, byval lparam as long) as long mykbhfunc = 0 '讯息要处理 if icode < 0 then mykbhfunc = callnexthookex(hnexthookproc, icode, wparam, lparam) exit function end if if wparam = 121 then '侦测 有没有按到f10键 form1.check1.value = 1 'check选中 call callnexthookex(hnexthookproc, icode, wparam, lparam) else call callnexthookex(hnexthookproc, icode, wparam, lparam) end if end function '以下在form private sub form_load() call enablekbdhook end sub private sub form_unload(cancel as integer) call unhookkbd end sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
北京故宫御花园阅读答案
磨砂玻璃怎么能贴上东西?
---What'sthisinEnglish?---It's____
win10怎样安装顺德农商银行usb key
自然堂凝时鲜颜霜和凝时鲜颜肌活乳液哪个保湿
为什么LOL一进游戏就卡着黑屏,就是在载入页
蛀牙和吃甜食有关系吗
编写一个shell脚本实现: 判断用户家目录下(
当x为何值时,分式1/(2x+1)的值为正数?
火车没座怎么办?
三百英雄有英文版吗?!
学的电子商务专业,去武汉上班工资一般是多少
做人工受精我老公做抽血化验,化验血得多少钱
黔西南兴义市车牌1个字母排完了吗?
为什么我妈特别容易生气
推荐资讯
19世纪晚期德国的现代化进程中,经济突飞猛进
我想找一本书,内容大概是男主因出车祸而偏瘫
前后独立悬挂与后扭力梁悬挂到底有多大的区别
贵人坊造型沙龙我想知道这个在什么地方
梦见一个龙头在水中浮出来 看起来好像死的一
燕窝 洞燕就一定比屋燕好吗
水浒传50-60回摘抄 概括
捷豹xf风华版新车开了以后停下来的时候会有响
光大银行卡跨行,跨市取款收费是???
情绪情感 我今年26岁,我家里姊妹两个。我还
急,法律达人,别人贷款担保写的别人名字我的
一部以上海为背景的战争片 是外国片 我是在HB
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?