生活工程体验信仰哲学精神
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

徐明波:如何实现远程卸载消息钩子

12月28日 不星湖投稿
  杨壹琳的回答:
  Hook简介Hook这个东西有时令人又爱又怕,Hook是用来拦截系统某些讯息之用,例如说,我们想让系统不管在什么地方只要按个CtlB便执行NotePad,或许您会使用Form的KeyPreview,设定为True,但在其他Process中按CtlB呢?那就没有用,这是就得设一个KeyboardHook来拦截所有Keyin的键;再如:MouseMove的Event只在该Form或Control上有效,如果希望在Form的外面也能得知MouseMove的讯息,那只好使用MouseHook来栏截Mouse的讯息。再如:您想记录方才使用者的所有键盘动作或Mosue动作,以便录巨集,那就使用JournalRecordHook,如果想停止所有Mosue键盘的动作,而放(执行)巨集,那就使用JournalPlayBackHHook呢,可以是整个系统为范围(RemoteHook),即其他Process的动作您也可以拦截,也可以是LocalHook,它的拦截范围只有Process本身。RemoteHook的HookFunction要在。Dll之中,LocalHook则在。Bas中。在VB如何设定Hook呢?使用SetWindowsHookEx()DeclareFunctionSetWindowsHookExLibuser32AliasSetWindowsHookExA(ByValidHookAsLong,ByVallpfnAsLong,ByValhmodAsLong,ByValdwThreadIdAsLong)AsLongidHook代表是何种Hook,有以下几种PublicConstWHCALLWNDPROC4PublicConstWHCALLWNDPROCRET12PublicConstWHCBT5PublicConstWHDEBUG9PublicConstWHFOREGROUNDIDLE11PublicConstWHGETMESSAGE3PublicConstWHHARDWARE8PublicConstWHJOURNALPLAYBACK1PublicConstWHJOURNALRECORD0PublicConstWHKEYBOARD2PublicConstWHMOUSE7PublicConstWHMSGFILTER(1)PublicConstWHSHELL10PublicConstWHSYSMSGFILTER6WHCALLWNDPROC当调用SendMessage时WHCALLWNDPROCRET当SendMessage的调用返回时WHGETMESSAGE当调用GetMessage或PeekMessage时WHKEYBOARD当调用GetMessage或PeekMessage来从消息队列中查询WMKEYUP或WMKEYDOWN消息时WHMOUSE当调用GetMessage或PeekMessage来从消息队列中查询鼠标事件消息时WHHARDWARE当调用GetMessage或PeekMessage来从消息队列种查询非鼠标、键盘消息时WHMSGFILTER当对话框、菜单或滚动条要处理一个消息时。该钩子是局部的。它时为那些有自己的消息处理过程的控件对象设计的。WHSYSMSGFILTER和WHMSGFILTER一样,只不过是系统范围的WHJOURNALRECORD当WINDOWS从硬件队列中获得消息时WHJOURNALPLAYBACK当一个事件从系统的硬件输入队列中被请求时WHSHELL当关于WINDOWS外壳事件发生时,譬如任务条需要重画它的按钮。WHCBT当基于计算机的训练(CBT)事件发生时WHFOREGROUNDIDLE由WINDOWS自己使用,一般的应用程序很少使用WHDEBUG用来给钩子函数除错lpfn代表HookFunction所在的Address,这是一个CallBackFucnction,当挂上某个Hook时,我们便得定义一个Function来当作某个讯息产生时,来处理它的Function,这个HookFunction有一定的叁数格式PrivateFunctionHookFunc(ByValncodeAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLongnCode代表是什么请况之下所产生的Hook,随Hook的不同而有不同组的可能值wParamlParam传回值则随Hook的种类和nCode的值之不同而不同。因这个叁数是一个Function的Address所以我们固定将HookFunction放在。Bas中,并以AddressOfHookFunc传入。至于HookFunction的名称我们可以任意给定,不一定叫HookFunchmod代表。DLL的hInstance,如果是LocalHook,该值可以是Null(VB中可传0进去),而如果是RemoteHook,则可以使用GetModuleHandle(。dll名称)来传入。dwThreadId代表执行这个Hook的ThreadId,如果不设定是那个Thread来做,则传0(所以一般来说,RemoteHook传0进去),而VB的LocalHook一般可传app。ThreadId进去值回值如果SetWindowsHookEx()成功,它会传回一个值,代表目前的Hook的Handle,这个值要记录下来。因为A程式可以有一个SystemHook(RemoteHook),如KeyBoardHook,而B程式也来设一个Remote的KeyBoardHook,那么到底KeyBoard的讯息谁所拦截?答案是,最后的那一个所拦截,也就是说A先做keyboardHook,而后B才做,那讯息被B拦截,那A呢?就看B的HookFunction如何做。如果B想让A的HookFunction也得这个讯息,那B就得呼叫CallNextHookEx()将这讯息Pass给A,于是产生Hook的一个连线。如果B中不想Pass这讯息给A,那就不要呼叫CallNextHookEx()。DeclareFunctionCallNextHookExLibuser32(ByValhHookAsLong,ByValncodeAsLong,ByValwParamAsLong,lParamAsAny)AsLonghHook值是SetWindowsHookEx()的传回值,nCode,wParam,lParam则是HookProcedure中的三个叁数。最后是将这Hook去除掉,请呼叫UnHookWindowHookEx()DeclareFunctionUnhookWindowsHookExLibuser32(ByValhHookAsLong)AsLonghHook便是SetWindowsHookEx()的传回值。此时,以上例来说,B程式结束Hook,则换A可以直接拦截讯息。KeyBoardHook的范例HookFunction的三个叁数nCodewParamlParam传回值HCACTION表按键VirtualKey与WMKEYDOWN同若讯息要被处理传0或反之传1HCNOREMOVEPublichHookAsLongPublicSubUnHookKBD()I;0ThenUnhookWindowsHookExhHookhHook0EndIfEndSubPublicFunctionEnableKBDHook()IfhH;0ThenExitFunctionEndIfhHookSetWindowsHookEx(WHKEYBOARD,AddressOfMyKBHFunc,App。hInstance,App。ThreadID)EndFunctionPublicFunctionMyKBHFunc(ByValiCodeAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLongMyKBHFunc0表示要处理这个讯息IfwParamvbKeySnapshotThen侦测有没有按到PrintScreen键MyKBHFunc1在这个Hook便吃掉这个讯息EndIfCallCallNextHookEx(hHook,iCode,wParam,lParam)传给下一个HookEndFunction只要将上面代码放在VB的模块中,用标准VB程序就可以了,当运行该程序后,就能拦截所有键盘操作。
  彩虹的微笑的回答:
搜索 投诉 评论 转载

王鹏举:坐的笔顺田字格热传聚热点网 管婷婷的回答:坐的笔顺:撇、点、撇、点、横、竖、横坐拼音:zu释义:1、古人双膝跪地,把臀部靠在脚后跟上,这是其本义,后泛指以臀部着物而止息:席地而坐。坐待。坐垫。坐骨。……宾馆服务质量通用标准热博聚热点网 宾馆服务质量通用标准)一、仪表仪容(一)服装1各岗位员工着本岗位制服上岗,服装干净、整洁。2前台员工服装必须平整、挺括、无皱褶,线条轮廓清楚。3服……焦可:苹果4代8g现在多少钱热文聚热点网 十万个为什么的回答:国行3988港行3700多花开花落的回答:参考价格:1498商家报价:13361900iPodtouch4前置摄像头,30万像素(具有Fa……老年人如何用好智能手机8大点热闻聚热点网 现在,中老年朋友使用智能手机、玩微信的越来越多了。但是有一些安全问题和使用技巧,却还不知道。下面是小编为大家总结的手机使用要点,希望对所有的老年朋友有所帮助。一、微……李国文:郭妮抄袭了多少东西?热评聚热点网 BlingKing的回答:主要是CLAMP、郭小四最近有抄矢泽爱,因为原作是漫华,所以只能说创作是别人的,文字是他们自己的。虽然她辩称中说过少女的梦想类似之类的话,但是,……纪昌:lol沃里克重做皮肤哪个好看热评聚热点网 袁小林的回答:出去不能买的典藏,绝对是荒野豺狼好看!火狼五毛特效马天山的回答:火狼那个苗德功的回答:冻原猎手那个皮肤还不错的。寡言。的回答:……郭本才:林师傅在首尔歌词要过多久才能拥有曾经错过的邂逅歌名是 金晓丹的回答:错过作词:陈曦作曲:董冬冬演唱:王铮亮没有黄昏的船头少了大海的温柔寂寞在沙滩游走停在空中的双手乱了心跳的节奏失落随呼吸入喉始终没有勇气向你开口总觉得没有更好……徐明波:如何实现远程卸载消息钩子热传聚热点网 杨壹琳的回答:Hook简介Hook这个东西有时令人又爱又怕,Hook是用来拦截系统某些讯息之用,例如说,我们想让系统不管在什么地方只要按个CtlB便执行NotePad,或……你从哪一刻,真正粉上了罗云熙?热传聚热点网 罗云熙(Leo),1988年7月28日出生于四川省成都市,中国内地男歌手、演员,毕业于上海戏剧学院舞蹈学院。最初对他有印象的,便是他主演的香蜜蜜沉沉烬如霜。他饰演的男二号……为什么我看《遮天》会感到无脑?热文聚热点网 谢邀。遮天这个书,我是断断续续看完的,辰东的书,严格来说,在网文界里面还算是比较出色的了。尤其是具备了一定的思考价值,至于题主说的问题,也确实是存在的。中国的网络小说作者……济南趵突泉(上)热评聚热点网 趵突泉公园位于济南市中心繁华地段,是国家AAAAA级旅游景区,南倚千佛山,北靠大明湖,东与泉城广场连接,是以泉水、人文景观为主的文化名园。1956年,趵突泉被整修辟为公园,历经……小青龙,外解表寒、内散水饮热传聚热点网 小青龙,外解表寒、内散水饮抱朴言:至美中医、至朴之言伤寒表不解,心下有水气。干呕、发热而咳,或渴或利,或噎、或小便不利、少腹满、或喘者,小青龙汤主之。伤寒,心……
喜欢我就请响铃2什么时候开播?热文聚热点网 世界地理(3)世界十大海湾热评聚热点网 如何理解《基督山伯爵》里面的最后一句话人类全部智慧就包含在两 在《明朝那些事儿》中,哪一段书写最让你着迷?热闻聚热点网 哪些脱口秀的段子,让你笑掉了下巴颏儿?热议聚热点网 50度灰这种电影存在的意义是什么,垃圾?热传聚热点网 四川大学和上海大学选哪个?热议聚热点网 市盈率是什么意思?静态市盈率和动态市盈率的区别是什么?热文聚 多家国有大行下调个人存款利率,大额存单下调15个基点热闻聚热 《白鹿原》描写的是哪一段历史发生的故事?热文聚热点网 茼蒿有什么营养价值?什么人不适合吃茼蒿吗?热传聚热点网 怎样做好吃的寿司?你有哪些心得?热评聚热点网
怎么防晒最有效夏天要和防晒抗争到底护士个人述职报告x玖和肖战成伍嘉成禁忌?别用你的主观臆断去判断他们的关系教大家妈妈把我的泡面藏起来了4第41关攻略引以造句用引以造句大全有哪些功能区6个宝藏级的微信小程序,免费又实用,工作生活都用得到垃圾山谷雨过后天气是不是就正式热起来了胃不好的人可以吃哪些水果呢你动脑子了吗?思考分三个层次,大多数人还在初始阶段我为祖国感到骄傲

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西