日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SetWinEventHook和SetWindowsHookEx的異同

 左目右于 2012-04-13
SetWinEventHook和SetWindowsHookEx的異同
2008-11-21 19:51

SetWinEventHook和SetWindowsHookEx都可以指定鉤子函數(shù)(hook function)來截取別的進(jìn)程中的消息,但是他們之間有一些不同。
  1. SetWindowsHookEx有兩種鉤子函數(shù),一種是全局鉤子(global hook),另一種是線程鉤子(thread hook)。全局鉤子能夠截取所有線程的消息,但是全局鉤子函數(shù)必須存在于一個dll中。線程鉤子只能截取屬于當(dāng)前進(jìn)程中的線程的消息,鉤子函數(shù)不需要放在dll中。SetWinEventHook也有兩種鉤子函數(shù),一種是進(jìn)程內(nèi)鉤子(in-context hook),另一種是進(jìn)程外鉤子(out-of-context hook)。進(jìn)程內(nèi)鉤子函數(shù)必須放在dll中,將被映射到所有進(jìn)程中。進(jìn)程外鉤子函數(shù)不會被映射到別的進(jìn)程中,所以也不需要被放到dll中。不管進(jìn)程內(nèi)或進(jìn)程外鉤子都能截取到所有進(jìn)程的消息,區(qū)別僅是進(jìn)程內(nèi)鉤子效率更高。
  2. SetWindowsHookEx和SetWinEventHook兩種方法截取的消息的類型不一樣。SetWindowsHookEx能截取所有WM_開頭的消息。而SetWinEventHook截取的消息都是EVENT_開頭的,這些消息所有都是跟對象的狀態(tài)相關(guān)的,所以它無法獲取根鼠標(biāo)鍵盤相關(guān)的消息。
  3. SetWindowsHookEx設(shè)定的全局鉤子必須被注入到別的進(jìn)程中,所以就無法截取到一些有限制的進(jìn)程的消息,比如命令行窗口(console window)。而SetWinEventHook的進(jìn)程外鉤子就沒有這個限制。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多