孙鑫VC++第20章HOOK和数据库访问

                                               第20章、HOOK和数据库的访问

 

1,  操作系统在传递消息时,将我们感兴趣的消息先传递给HOOK过程,在此函数中进行检查,然后再决定是否放行该消息;(钩子过程)

 

2. SetWindowsHookEx函数来安装一个钩子过程;最后安装的钩子过程总是安排在该链的前面;

 

2,  在钩子过程中对信息处理完成之后,如果想把信息继续传递给下一个钩子过程,可以调用CallNextHookEx函数来实现;

 

 

3.参数wParam是产生当前按键消息的键盘按键的虚拟键代码,这是Windows定义的与设备无关的,键盘按键的代码。当按下键盘上的按键时,它实际上发送的是一个脉冲信号,Windows定义了一些虚拟键代码来表示这些信号,并由键盘设备驱动程序复杂解释;

 

因此,在钩子过程中,就可以通过wParam参数得到当前按下的是哪个键了。

 

 

4.键盘虚拟键的宏都是以”VK_”开头的;

 

5.如果想要屏蔽当前正在运行的所有进程的鼠标消息和键盘消息,那么安装钩子过程的代码必须放到动态链接库中去实现;

 

         如果想要让安装的钩子过程和所有进程相关,应该将SetWindowsHookEx函数的第四个参数设置为0,并将它的第三个参数指定为安装钩子过程的代码所在的DLL的句柄;

 

 

 

6.ODBC(Open DatabaseConnectivity,开放数据库互联):只能访问关系型数据库

 

         ODBC提供一个单一的API,可用于处理不同数据库的客户应用程序,使用ODBC API的应用程序可以与任何具有ODBC驱动程序的关系数据库进行通信;

 

 

7,OLE DB(对象链接与嵌入数据库)

 

8,ADO(ActiveX DataObject,ActiveX数据对象)

 

         ADO客户程序通过ADO再访问OLE DB提供程序,这样访问速度要慢一些,但是因为ADO对自动化提供了很好的支持,所有用起来方便点;

 

9.数据源包括:关系型数据库,电子表格,电子邮件,以及其他的非关系型数据库存储;

 

 

10,对数据库的访问总是按行进行的;

 

11,在VC中利用ADO访问数据库时候,首先要导入ADO库,可以在stdafx.h中导入该库,方法是利用import指令将此动态链接库导入;

 

12.OLE DB是基于COM技术编写的,ADO是基于OLE DB的,它实际上是一个OLEDB的用户程序,ADO本身也是一个COM组件,COM组件在使用时,需要初始化COM库,这需要调用CoInitialize函数来实现。

 

在访问完COM库后,程序还需要调用CoUninitialize函数卸载COM库;

 

 

13, ADO技术访问主要是针对VB的,在VC中使用比较麻烦;

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值