
建立全局鈎子必須為DLL應用程序:
如下建立:
DLL程序 必有有一個程序裝載他。所以還需要在做一個項目。
再新建一win32項目:
這個做成windows應用程序。
回到DLL 先做一個DLL:
DLL有一個DLLMain函數,該函數有三個參數,switch內現在只用到一個,就先寫一個:然后增加鍵盤的鈎子函數:
以下setKbHook為掛鈎的設置函數實現鈎子函數和其他進程掛鈎。也叫安裝鈎子。:其要做成DLL的導出函數。
在DLL的頭文件定義宏:然后把函數的聲明寫在頭文件中:
我們想把所有的鍵盤輸入記錄到一個文本文件中首先要檢查:參數為lParam
40000000一共是32位4是第三十一位 (DWORD)lParam & 40000000 表示如果第三十一位等於一,表示 原來是按下去的, 按下去是一個消息 抬起來又是一個消息,原來按下去現在抬起來我們則收到一個正常的擊鍵 HC_ACTION =nCode. 參數wParma為鍵盤的虛擬鍵碼。其大於0x2f小於0x100是正常的輸入。再加上空格和回車鍵:

要打開文件,先聲明文件指針 :並包含頭文件:
重新編譯發現有錯誤,回去更改代碼 添加全局句柄:
接下來做鍵盤鈎子的安裝程序:因為鍵盤鈎子是DLL程序,其不可獨立運行,必須做一個程序來裝載該DLL程序:
現在回到另一個win32項目,把DLL文件的頭文件
現在回到另一個win32項目,把DLL文件的頭文件
粘貼到裝載程序文件夾內:
再把庫文件和dll文件復制過來:
然后在win32項目中添加頭文件:
這個項目是安裝DLL文件其實實際上不需要界面:因為鍵盤鈎子是做監控或盜號木馬,其不要界面,看不見就行。
刪除win32項目的部分代碼:
只把主消息循環留下:
運行如下:無界面 程序在不停循環:
此處設定的鈎子為全局鈎子,所有鍵盤的輸入都會被記錄在C盤下文件內。
產看文件驗證:
發現記錄錯誤。
檢查代碼 修改如下:
重新拷貝新生成的文件到安裝程序的文件夾內:
在此打開C盤下export.txt驗證 正確。
任何鍵盤消息都會被記錄,先打開網址,輸入百度。在此查看該文件。

點擊登錄百度 輸入賬號和密碼。也會被記錄。