- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vb5.0与windows api 间的呼叫技巧(二)(Calling skills between VB5.0 and windows API (two))
vb5.0与windows api 间的呼叫技巧(二)(Calling skills between VB5.0 and windows API (two))
AddressOf MyKBHFunc,Hinstance,0)的应用程序。
如此设定则每当按任一个键时,程式自动会去执行mykbhfunc这个钩子函数。
是由我们所定义,但是它是由窗口自动去呼叫,而不是由我们的程式呼叫,这类的
功能就叫回调函数。
以上面的例子来说,这个回调函数定义如下:
-----------------------------------------------------------------------------
公共函数的MyKBHFunc(ByVal iCode为长,_
ByVal wParam为长,ByVal lParam为长)长
mykbhfunc = 0
如果ICODE<0则
mykbhfunc = CallNextHookEx方法(hnexthookproc,ICODE,wParam,lParam)
退出功能
最后如果
“侦测有没有按到PrintScreen键
如果wParam = vbkeysnapshot然后
mykbhfunc = 1
调试“打印”“哈哈”
最后如果
端功能
-----------------------------------------------------------------------------
这个键盘钩子函数的目的主要是想拦截有没有按到打印屏幕这个键
这个键不会在形式,的keydown,按键,KeyUp事件中作用,所以只好透过键盘
RD钩去拦截。而回调函数放的位置有规定,一个是要与呼叫setwindowsho
okex()的地方在同样的一个项目,另外,它只能存在於BAS档,不能放在其他地方。
的程式於范五键盘钩子。
范例五
*****************************************************************************
“以下程式於hook.bas
函数声明函数库“user32”的别名_
“setwindowshookexa”(ByVal idHook为长,ByVal lpfn为长,_
一个必须为长,长为ByVal dwThreadId)
声明函数UnhookWindowsHookEx lib“user32”_
(ByVal hhook长)长
声明函数CallNextHookEx函数库“user32”(ByVal hHook为长,_
ByVal ncode为长,ByVal wParam为长,指向任何)长
公共hnexthookproc长
公共建设hc_action = 0
公共建设wh_keyboard = 2
公共子unhookkbd()
如果hnexthookproc 0
hnexthookproc UnhookWindowsHookEx
hnexthookproc = 0
最后如果
端子
公共功能enablekbdhook()
如果hnexthookproc 0
退出功能
最后如果
hnexthookproc = SetWindowsHookEx(wh_keyboard,地址_
MyKBHFunc,Hinstance,0)的应用程序。
如果hnexthookproc 0
enablekbdhook = hnexthookproc
最后如果
端功能
公共函数的MyKBHFunc(ByVal iCode为长,_
ByVal wParam为长,ByVal lParam为长)长
“这三个参数是固定的,不能动,而mykbhfunc这个名称只要和
“setwindowshookex()中地址後的名称一样便可,不一定叫什麽
mykbhfunc = 0
如果ICODE<0则
mykbhfunc = CallNextHookEx方法(hnexthookproc,
ICODE,wParam,lParam)
退出功能
最后如果
如果wParam = vbkeysnapshot然后侦测有没有按到PrintScreen键
mykbhfunc = 1
调试“打印”“哈哈”
最后如果
端功能
“以下程式於形式
私有子form_load()
电话enablekbdhook
端子
私有子form_unload(取消为整数)
电话unhookkbd
端子
*****************************************************************************
七、自订型态的传递
因这只要用ByRef的方式来做就没有什麽大的问题,故不做说明。
八、综合应用
我们再以一个实例来说明赢得在VB5中呼叫的技巧有一个函式
您可能关注的文档
- cdtv1节目时间表(报cntv) (0927-1003) 更新(Cdtv1 schedule (CNTV) (0927-1003) update).doc
- cd制式与升频相关知识(Knowledge of CD system and frequency rise).doc
- ces销售实战第2课-井字攻略走出销售迷宫(CES sales actual combat second lessons - well Word introduction out of the sales maze).doc
- cem-3覆铜板制作工艺路线(CEM-3 copper clad laminate production process route).doc
- cdtv-1(cdtv - 1).doc
- cad菜单学习(CAD menu learning).doc
- ce后期制作的初步调节(Preliminary regulation of CE post production).doc
- ce后期数据(CE post data).doc
- ce软件使用教程(CE software tutorial).doc
- ce录音教程(CE recording tutorial).doc
- vb12(vb12).doc
- vcore电压工作原理(Vcore voltage operating principle).doc
- vegas 操作的高级阶段(Advanced stage of Vegas operation).doc
- vite的性质(The nature of vite).doc
- u盘介绍(The U).doc
- vf程序设计50题(50 problems of VF programming).doc
- vokabel aktuell 3c(vocabulary currently 3c).doc
- waike(〔1).doc
- waves-x-noise降噪插件的使用(The use of waves-x-noise noise reduction plug-ins).doc
- wenben(wenben).doc
文档评论(0)