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

相關文章
相關標籤/搜索