第13章 动态链接库.pptxVIP

  • 1
  • 0
  • 约 65页
  • 2017-06-23 发布于湖北
  • 举报
第13章 动态链接库

第13章 动态链接库;13.1 什么是动态链接库;;;;13.2 创建动态链接库;13.2.1 创建MFC动态链接库;图13.1 New对话框;图13.2 MFCAppWizard – Step 1 of 1对话框图;;13.3 New Project Information对话框;;13.2.2 创建Win32动态链接库;图13.4 New对话框;图13.5 Win32 Dynamic-Link Library – Step 1 of 1对话框;;图13.6 New Project Information对话框;;13.3 使用动态链接库文件;13.3.1 动态链接库的入口函数;;13.3.2 动态链接库中数据和函数的导出;1.创建模块定义文件;【示例13.1】;2.使用关键字_declspec(dllexport);【示例13.2】;【示例13.3】;13.3.3 动态链接库的加载;1.隐式链接;图13.7 Project Settings对话框;图13.8 导入库文件;2.显示链接;;;13.4 动态链接库应用实战;13.4.1 MFC动态链接库应用实例;【示例13.4】;;;;;;图13.9 运行结果;13.4.2 Win32动态链接库应用实例;【示例13.5】;;;;图13.10 Insert Files into Project对话框;图13.11 添加变量;;图13.12 运行结果;13.5 钩 子 函 数;13.5.1 钩子技术介绍;图13.13 Windows消息传递;;;13.5.2 钩子类型和范围;13.5.3 安装和解除钩子;;各个参数的意义如下: idHook:钩子的类型,其常用的取值有下面几种情况: WH_CALLWNDPROC:消息发送到窗口之前产生的消息钩子。 WH_CALLWNDPROCRET:消息到达窗口中的钩子。 WH_FOREGROUNDIDLE:Windows系统中前台空闲窗口的钩子。 WH_JOURNALRECORD:输入消息记录钩子。 WH_KEYBOARD :键盘钩子。 WH_KEYBOARD_LL:WindowsNT下的底层键盘钩子。 WH_MOUSE :鼠标钩子。 WH_MOUSE_LL:WindowsNT下的底层鼠标钩子。 WH_MSGFILTER :对话框、消息框输入钩子。 WH_SYSMSGFILTER:系统消息钩子。;;CallNextHookEx()函数的原型如下: LRESULT CallNextHookEx(HHOOK hhk, int nCode, WPARAM wParam,LPARAM lParam ); 各个参数的意义: hhk:SetWindowsHookEx()函数所返回的当前钩子函数的句柄。 nCode:传递钩子过程的事件代码。 wParam和lParam:传递给钩子函数的参数值。 ?说明:并不是必须调用CallNextHookEx()函数,对于一个钩子来说,不调用该函数没有任何问题,但为了保证系统不被破坏,建议每次都调用该函数。;钩子函数对系统消息进行了拦截和处理,这对系统产生很大影响,因此一般在应用程序退出或者其他情况下应该解除钩子函数,钩子函数的解除通??调用函数UnhookWindows HookEx()。其函数原型如下: BOOL UnhookWindowsHookEx(HHOOK hhk); 参数的意义是SetWindowsHookEx()函数的返回值。 上面介绍了钩子的基本概念,并且介绍了常用的钩子函数。钩子技术是现代软件中常用的技术,例如杀毒软件会使用一些钩子进行保护。;13.6 小 结

文档评论(0)

1亿VIP精品文档

相关文档