在Windows系统中用VC++实现钩子机制.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在Windows系统中用VC++实现钩子机制.doc

  在Windows系统中用VC++实现钩子机制 摘要:本文 分析 了在FC DLL可供选择,即Regular statically linked to MFC DLL(标准静态链接MFC DLL)、Regular using the shared MFC DLL(标准动态链接MFC DLL)以及Extension MFC DLL(扩展MFC DLL)。第一种DLL在编译时把使用的MFC代码链接到DLL中,执行程序时不需要其他MFC动态链接类库的支持,但体积较大;第二种DLL在运行时动态链接到MFC类库,因而体积较小,但却依赖于MFC动态链接类库的支持;这两种DLL均可被MFC程序和FC类库的扩展,只能被MFC程序使用。 另外,要设立一个全局数据共享数据段,以存贮一些全局变量,保留上次钩子消息事件发生时的状态。 3. ain。只要有进程或线程载入和卸载DLL时,都会调用该函数,其原型是: BOOL ain(HINSTANCE hinstDLL,D ,LPARAM lparam); //钩子处理函数 extern C bool ain(HINSTANCE hInstance, D ,LPARAM lparam)//钩子处理函 { if (codelt;0) //若code〈0,则直接调用callnexthookex返回 return CallNextHookEx(hhook, code, , lparam); if(==_LBUTTONDO_RBUTTONDOouseclickr++;//记录鼠标右键单击次数 } return CallNextHookEx(hhook, code, ,lparam); } extern C bool ouseclickr;}    (5) 修改spy.def程序代码如下:   exports stophook 2 starthook 1 getresultl 3 getresultr 4 (6) 编译project,生成spy.dll文件和spy.lib文件。 2. 建立使用钩子的 应用 程序 (1) 生成一个单文档的可执行文件(exe)的project。 (2) 修改资源中的主选单,增加一个选单项“监控”,下有三个子选单项,分别为“启动”、“撤销”和“取出”。.L.编辑。 (3) 在project中加入spy.lib文件。 (4) 分别修改“启动”、“撤销”和“取出”选单项的mand响应函数如下: #include E:\DevStudio\MyProjects\spy\hook.h //路径可不同 void CMainFrame::OnMenuitem32771() //“启动”选单项的响应函数 { starthook(); } void CMainFrame::OnMenuitem32772() //“撤销”选单项的响应函数 { stophook();} void CMainFrame::OnMenuitem32773() //“取出”选单项的响应函数 { int resultl=getresultl(); int resultr=getresultr(); char buffer[80]; _hB_OK); }  编译这个project,并把spy.dll放到生成的可执行文件目录下,便可运行程序。运行时,选择“监控”选单中的“启动”选单项,钩子便开始工作,监视鼠标的活动情况;选择“撤销”选单项,系统便撤销钩子;选择“取出”选单项,程序便报告在监控期间,用户分别单击鼠标左键和右键的次数。 以上程序在.

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档