作者foxkid (只有冰與雪)
看板Programming
標題Re: [討論] 防廣告視窗怎麼做的?
時間Thu Jan 19 09:38:10 2012
※ 引述《tropical72 (藍影)》之銘言:
: ※ [本文轉錄自 C_and_CPP 看板 #1F3PEVvk ]
: 作者: tropical72 (藍影) 看板: C_and_CPP
: 標題: [討論] 防廣告視窗怎麼做的?
: 時間: Wed Jan 11 21:50:19 2012
: 這是一份概念、技術、興趣的討論文章。
: 前言
: 1. Win32 API 有沒有辦法做到,當系統新增某個 process 時, 有辦法
: 主動通知我的 ap 再去執行嗎? (call back 方式, 非 polling 方式)
: 或換個問法:Win32 API 能否以 callback 方式監控 processes ?
如果把條件縮小到監控IE有沒有新增某個process的話,可以實作一個user mode的
debugger,對IE作監控。呼叫WaitForDebugEvent註冊一個callback,
CREATE_PROCESS_DEBUG_EVENT就是你要的了。只是那個時間點可能window還沒出來,
但是你能拿到PID,所以可以新增一個thread,過一小段ms之後去檢查,咖差。
不過有個問題,IE不一定是自己彈出的IE,可能透過COM繞到service又回過來起了一個IE
可以拿procmon先看一下,如果是這樣那上述方法就不行了。
全系統監控process新增,一般用的方法是寫driver,
呼叫PsSetCreateProcessNotifyRoutineEx,此時也一樣window還沒出來,之後blahblah
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.192.35.10
1F:推 tropical72:感謝 f 大提供的寶貴意見,感謝 !! 180.177.69.239 01/25 15:19