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();