说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何拦截键盘输入

HTML文档下载 WORD文档下载 PDF文档下载
VB如何拦截键盘输入
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这个名称只要和
'SetWindowsHookex()中 AddressOf後的名称一样便可,不一定叫什麽
'wParam 是传入按了哪个key的virtual-key code

'如果您将以下的两行unmark则所有键盘的输入皆没有作用
'MyKBHFunc = 1 '吃掉讯息
'Exit Function

MyKBHFunc = 0 '讯息要处理
If iCode < 0 Then
MyKBHFunc = CallNextHookEx(hnexthookproc, iCode, wParam, lParam)
Exit Function
End If
If wParam = vbKeySnapshot Then '侦测 有没有按到PrintScreen键
MyKBHFunc = 1 '在这个Hook便吃掉这个讯息
Debug.Print "haha"
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

GSMA行纪:各种神器、好玩的、好看的全搜罗 大数据初创企业WibiData将Hadoop“打包”,谷歌董事长施密特两次参投 赚钱不忘环保 苹果计划为数据中心兴建太阳能发电厂 深度解析:清理烂代码 电信开放平台发布短信验证码API 创业教父Paul Graham谈创业投资趋势 挖掘Linux人才,打造Power生态系统!IBM启动“天合应用服务器定义未来挑战赛” 请不要忽略API的安全性 发布将近?苹果在多地注册“iWatch”商标 苹果聘请某时尚公司CEO为副总裁 将负责“特殊项目” 雅虎5000万美元收购视频分享应用Qwiki 创业第一年易犯的8大错误 苹果推iOS游戏手柄,掌上游戏主机格局变天? 代码审查固然伟大,那还有其他替代品吗? 怎样维护一个成功的开源项目 麻省理工专家发布新系统Ascend,专注内存访问安全缺陷 Oracle Database 12c面临的最大挑战是开源+开放的生态系统?! 浸入式数据中心:高密度计算的新前沿 2013年腾讯合作伙伴大会要点回顾 “鼠标之父”和超文本研究先驱Douglas Engelbart去世 享年88岁 Web服务器排行:Nginx超越Apache 成为全球TOP 1000网站最常用的Web Server Windows 8之父Steven Sinofsky正式离职微软 不得接受竞争者聘用 Yelp处理1.02亿/月绝对造访人次及3900万评论的省钱秘诀 可视化:图像的主题色提取算法,是不是太高端了? 不利于写出好代码的15个职场因素 GPU Saturday技术沙龙:分享异构计算新技术及应用 微软隐藏最深的秘密武器之一——Visual Studio可作为Python IDE 历时六月,Qt 5.1正式版终于面世! HTML5全硬件加速游戏引擎:Sphinx正式公测 专访“Monster Blade”创始人:无需营销,百万下载背后的秘密 Twitter实时分析平台主要合作伙伴Dataminr:让用户不再错过重要的推文 昨天晚上连夜看《围城》,今天上班迟到了,不爽。 这个美元符号是什么意思? to:asia(),hushuo,seesea,inside1以及各位大虾,可以再给小女子讲一下指针的问题吗? win 2k pro 如何查看有哪些人联着我的机子?就跟98的网络资源管理中的一样。 十万火急!!TADOTable的lookup类型的新字段不能用于Sort吗?搞定了立即给分!! CListCtrl控件問題 怎么我在VC++6.0中的窗口属性中设一些属性好像没用一样??? 三台机器不用HUB如何实现互相访问? 请教通讯的问题 用accsee数据库 怎么不显示登陆的用户密码框? c,如何得到一个文件名中指定位置指定长度的字符串?? 服务器是否打开支持FileSystemObject对象的权限 我的数据表列宽为7个字符 , 而我只输入3个字符 , 当我输入4个字符后 , 再次运行程序却看不到所有数据 从新做人 求救:在NT Server下调用GetVolumeInformationA取分区序列号,返回结果为负数!!!怎么回事啊? 正式到新公司上班,送300分,感谢在我最困难的时候在“软件工程”版给过我帮助的朋友们!! 请问斑竹及所有人,怎样得到QuickReport的总页数? Websphere3.5的一个BUG.希望有人反对.多谢.. 什么是DAMAP的对象 哪里有 winpcap 或 libnet 及其他网络编程辅助包下载? 谁能提供PSP文档?最好是Humphrey的那本书! 代码出现bebug.请大家帮我找!!!! TO:net_lover(孟子E章),详情请入内! 有谁用过DEV express系列的dxdbgrid??它是如何把一个文本文件txt读到dxdbgrid1.columns[i]的picklist中去,作为picklist的内容的啊? 我想在Linux下做数据库开发,用什么数据好? 我的pws可能出了问题,那位高手能解决一下 关于控制winamp 各位同行你们有这个的源程序吗(Cacio DT-900数据采集器) Html Help 制作方法 luodi(无知者无畏), 请进: 我用shell(app.path+"\mdac.exe"),来调用微软数据访问控件2.0,提示出错:命令行语法错误, 求救:如何将剪贴板中的内容放到image控件上 how to get the sytax of customer user object ? jsp中的打印问题 pb中有没有类似iif之类的语句 大虾们,怎样将String 类型转换成float 请问在及时战略中,怎么实现寻路的 我想在状态栏显示时间,有没有属性可以让时间自动变化,而不用其它辅助控件? 不会没人愿意回答这个问题吧,都贴第二次了!! 吃西瓜 我在注冊自創構件時總是出錯,請各位幫忙解決. 关于ado连接sybase的问题,紧急求救!!!(我的最高分了) 29分:flexcell定位 请教一下,关于Delphi COM类型库的问题 大家来谈谈申奥成功对我们的影响吧,我想知道怎么利用这个契机大赚一笔 各位谁喜欢“后街男孩”??喜欢的给分! 请问在DBGRID中改变当前选定行的颜色? 我想在DataSourceDataChange()中实现。 客户端怎么与服务器端通信 为什么我在窗口里修改了一个记录的图片字段后,在数据窗口内不能正常显示? 我要在RedLinux71下安装WEB服务器软件,请部如何做? 如何计算某年某月的天数和每天对应的星期 十三分之十二除以五的商减去六分之一与十二的倒数的积,差是多少,算式是什么 99又7分之1乘以99简算 99x99+99 用简便方法怎样算 一个数的5倍减去5除2.5的商 差是3.8 求这个数 101乘以99乘以999加999 急... 99x99十199要求用简便方法计算, 什么数的3倍减去3除24的商,差是13? 101乘以99/100 99x99十199简便方法怎么计算. (5又13分之1-3又8分之3)*(6又4分之3-2又4分之1*3)= 如何简便算49+49×49,意思,为什么这么算偶承认偶童鞋没文化.....(没文化真可怕)数学很伟大 西游记中8至几回是总写唐僧师徒历经九九八十一难? 与x的积是y减1的数 简便计算:41×49-49 《西游记》为什么唐僧师徒要经过九九八十一难才能取回真经?这八十一难意味着什么? 两个数的和为10,设其中一个数为x,那么它们的积y是如何随x的变化而变化的?你能分别用函数表达式、表格和图像表示这种变化么 3.41-1.97+0.49-1.03的简便计算 西游记九九八十一难都有什么? 把两个相同的三位数连续写在一起,就得到一个六位数请你是说明任何一个连续数都可被7、11、13整除 41*101怎样简便就怎样算 求西游记中孙悟空他们经历的九九八十一难的名称劫难的名称和妖怪的名称(每个劫难)还有其下场,相当于把西游记的九九八十一难的浓缩成八十一小故事 开头 过程(经历) 结局(+妖怪 1.11.13.6这几个数怎么组成24?加减乘除随便用 41×101=? 请简便计算 1,19,199,1999,2099,19999怎么念? 在6,13,35三个数中与8的最大的公因数是1的是() 199乘49加199乘50加199怎么简便运算? 1+1/1+2+1/1+2+3+……+1/1+2+3+……+2004+2005如何计算 一个数加上20分之13的和再减去5分之3,差是20分之3,求这个数. 72x0.81+10.4简便运算 计算(2/1+3/1+...+2005/1)x(l+2\1+2005\1)x(2\1+3\1+...+2004\1) 一个数加上13/20得和,再减去3/5,差是3/20,这个数是多少 (5x一3)(5x一3)=4分之81,x=? 计算:1+2+3+…+2002+2003+2002+…+3+2+1=? 5与4的积被一个数除,商是0.5,个数是多少? √81+5x³=-31 这个怎么算呢. 从1/1*2+1/2*3+.+1/2002*2003怎么计算 1/2与2/3的积减去1/6,所得的差去除5/12,商是多少? 2.5x(40十4十0.4)简便计算? 计算: 1÷(1×2)+1÷(2×3)+… +1÷(2002×2003),请高手请点,谢谢 分解质因数 27= 30= 54= 递等式计算:(能巧算的要巧算) 2.8*0.9 5.4*10.1 计算1+2+3+...+2002+2003+2002+...+3+2+1 54分解质因数 递等式计算(能简便计算的要简便计算) 1、10.7-2.9×0.2×0.5 简算 2004+200.4+20.04+2.004 54怎么分解质因数 20-19+18-17...+4-3+2-1递等式简便方法 2004+200.4+20.04+2.004等于多少? 30分解质因数 简便计算 (1-1/2012)+(2-2012*2)+(3-1/2012*3)+...(2012-1/2012*2012) 9.05*2.01 怎样简算 把30分解质因数?具体数字 999x999怎么简便方法计算呀 递等式计算,用简便算法.要用乘法运算定律、加法运算定律、除法运算性质、减法运算性质.快,好的重分酬谢!(4.2-0.4×6)÷4== (15300÷600+67.5)×180==10500÷(10500÷25×1.25)==[(5.84- 从12又1\6里减去4.6与3又2\3的和,差是? 99乘24简便脱式计 288十199=?(用简便方法计算) 从40里减去8.1的3倍,再除以0.4,商是多少?(列式算结果) 负九十九又九十九分之九十八乘一百九十八 简便计算 99X99十199怎简便计算
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn