win10系統(tǒng)新手教程 如何使用c#hook一個(gè)windows api函數(shù)?
如何使用c#hook一個(gè)windows api函數(shù)?直接通過(guò)C#調(diào)用窗口API實(shí)現(xiàn)鉤子。讓我們談?wù)勥@個(gè)想法,實(shí)現(xiàn)我們自己的想法。就像你說(shuō)的,其實(shí)很簡(jiǎn)單。OK1是獲取窗體句柄的關(guān)鍵邏輯,可以同時(shí)使用fi
如何使用c#hook一個(gè)windows api函數(shù)?
直接通過(guò)C#調(diào)用窗口API實(shí)現(xiàn)鉤子。讓我們談?wù)勥@個(gè)想法,實(shí)現(xiàn)我們自己的想法。就像你說(shuō)的,其實(shí)很簡(jiǎn)單。OK1是獲取窗體句柄的關(guān)鍵邏輯,可以同時(shí)使用findwindow函數(shù)和enumwindow函數(shù)。如果知道類名或表單名稱,也可以直接調(diào)用表單操作相關(guān)的API來(lái)獲取表單句柄。2鉤子部分,這里我建議你使用全局鉤子,通過(guò)setwindowhookx函數(shù)來(lái)安裝鉤子,鉤子的類型是鍵盤(pán)鉤子和鼠標(biāo)鉤子,如果你認(rèn)為普通的鍵盤(pán)鉤子和鼠標(biāo)鉤子不能滿足,那么就像QQ一樣,使用低級(jí)的鍵盤(pán)鉤子和鼠標(biāo)鉤子,這些都是在MSDN文檔或者下面描述的,如果你想控制Ctrl-Alt-delete,你可以使用低級(jí)鍵盤(pán)鉤子。它以前是用C編寫(xiě)的,但只有在C編寫(xiě)庫(kù)被C#調(diào)用,所以我建議使用低級(jí)鍵盤(pán)鉤子來(lái)控制它。不過(guò),據(jù)我所知,C#直接使用鉤子似乎有一些局限性,比如低級(jí)鉤子不容易完成==以上是一些簡(jiǎn)單的想法PS:有一個(gè)C#制作的鉤子類庫(kù),非常強(qiáng)大。你可以下去,我忘了名字
右擊屬性,點(diǎn)擊兼容性選項(xiàng)卡,選中禁用視覺(jué)樣式,打開(kāi)游戲時(shí)會(huì)出現(xiàn)失敗鉤子GetTickCount錯(cuò)誤,你可以直接關(guān)閉它進(jìn)入游戲。