第20讲 HOOK和数据库编程

1,安装钩子过程能够经过SetWindowsHookEx函数来完成函数

2,获得当前线程ID,能够用GetCurrentThreadId ui

3,移除钩子能够用UnhookWindowsHookEx函数spa

4,得到动态连接库的句柄有两种方法:可使用DllMain函数,用一个全局变量来保存系统传给它的句柄;用GetModuleHandle获取指定模块的句柄线程

5,建立新的结能够用 #pragma data_seg("MySeg")  #pragma data_seg()把变量包含起来,包含的变量必须初始化,其中MySeg为你要建立的结的字符串名,不能超过8个字符。设置其为共享的结,#pragma comment(linker,"/section:MySec,RWS"); 也能够在建立模块共享的文件当中,用对象

SEGMENTS字符串

MySec  READ WRITE SHAREDit

6,ADO三个核心对象,Connection对象,Command对象,Recordset对象io

在stdafx.h中添加#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")钩子

在使用处编写:import

CoInitialize(NULL); _ConnectionPtr pConn(__uuidof(Connection)); _RecordsetPtr pRst(__uuidof(Recordset)); pConn->Open("DSN=shop;Server= localhost;Database=shop", "", "", adModeUnknown); pRst = pConn->Execute("select * from chakan", NULL, adCmdText); while (!pRst->rsEOF) { ((CListBox*)GetDlgItem(IDC_LIST1))->AddString((_bstr_t)pRst->GetCollect("name")); pRst->MoveNext(); } pRst->Close(); pConn->Close(); pRst.Release(); pConn.Release(); CoUninitialize();

相关文章
相关标签/搜索