第五部分 視窗鉤子
一、ros下的流程
win2000版本有人分析過了
訊息鉤子是一種官方支援鉤子**,可以攔截某乙個視窗或者全域性的訊息。訊息本應直接發到對應視窗的wndproc,現在要先傳送到我們設定的訊息**,由我們的hook函式進行引數的收取、截獲、過濾~
hhooksetwindowshookex(intidhook,
hookproc lpfn,
hinstance hmod,
dword dwthreadid
);hhookwin2k
下是這樣的
typedefstruct
taghookhook, *phook;
對應核心呼叫
hhook
apientry
ntusersetwindowshookex(hinstance mod, //dll base
punicode_stringunsafemodulename,
dword threadid, //非0
即針對某一函式的
hook
inthookid, //hook
型別比如
wh_keyboard_ll
hookproc hookproc, //hook
函式bool ansi)
else}}
else //
全域性鉤子
總之,pti->pdeskinfo->asphkstart[nfiltertype+ 1]
是全域性的鉤子鍊錶
ptithread->aphkstart[nfiltertype+ 1]
是某一線程的鍊錶
fshooks
是標誌位,標誌這種型別的鉤子是否有設定
二、hook
函式的呼叫部分
co_hook_callhooks- co_intcallhookproc–keusermodecallback
跟call wndproc
是類似的
三、列舉訊息鉤子
1.可以
pti->pdeskinfo->asphkstart[nfiltertype+ 1]
來找hhook
結構2.is找
user32
裡面的gshareinfo
結構,hhook
也是種圖形物件,在控制代碼表中
~遍歷控制代碼表就找到了。具體可以跟一下
zzzsetwindowshookex - hmallocobject
閱讀全文
類別:核心
win32視窗樣式
private const gwl style 16 視窗樣式 private sub command1 click orstyle end sub private sub orstyle dim lstyle as long lstyle getwindowlong me.hwnd,gwl sty...
WIN32視窗建立
win32視窗建立過程 1 定義視窗類 在msdn中找到函式原型 winmain 2 定義視窗處理函式 在msdn中找到原型 windowproc 3 設計視窗類 4 註冊視窗類 registerclass registerclas 5 建立視窗 createwindow createwindowe...
win32繪製視窗
static int cxclient,cyclient 宣告兩個變數存放滑鼠 x,y 座標.在下面,我們為這兩項賦值時,loword lparam 代表取 lparam 的低 16 位,hiword lparam 代表取lparam 的高 16 位,在 lparam 中存放的實際就是滑鼠的位置,低...