Fw: [討論] 防廣告視窗怎麼做的?

看板Programming作者 (藍影)時間13年前 (2012/01/11 21:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 C_and_CPP 看板 #1F3PEVvk ] 作者: tropical72 (藍影) 看板: C_and_CPP 標題: [討論] 防廣告視窗怎麼做的? 時間: Wed Jan 11 21:50:19 2012 這是一份概念、技術、興趣的討論文章。 前言 最近上一些網站看教學影片很容易跳出遊戲廣告視窗, 只要該 web 上有任何 link 被點擊,瀏覽器會再開一個 Instance 跳出來, 我覺得非常不悅、麻煩。 解決概念 我的方法很糟,用 FindWindow 、 SendMessage(hwnd, WM_DESTROY, 0, 0) 方式進行 close,缺點有下述二點 cpu 佔有率 高 一開始用純 main 方式下去做 ( 會先將 console 隱藏), 沒 sleep, cpu 效能被卡住 ( 這結果並不意外), 後來改用 WinMain 設 SetTimer, 變成 polling 時間尷尬,設太大廣告顯示太久;設太小 cpu 佔 有率高。 FindWindow 非治根本之道 用 FindWindow 方式當然必須先知道視窗抬頭,如此下來遇到另二個問題 1. 沒標題的視窗就不能用這方法。 2. 廣告內容變更就又要更新一次關閉之黑名單, 維護的方式便是把黑名單全都列在一個 txt 裡面,以後增加廣告的時候 只要維護該黑名單即可。但建置與維護成本高,不過這應是「判別」 最穩的方式,較不容易誤判。 目前黑名單我只有列不到 20 個視窗標題抬頭。 問題討論 1. Win32 API 有沒有辦法做到,當系統新增某個 process 時, 有辦法 主動通知我的 ap 再去執行嗎? (call back 方式, 非 polling 方式) 或換個問法:Win32 API 能否以 callback 方式監控 processes ? 2. 不知道一般在防廣告視窗時是怎麼處理的?(直覺不會是列標題黑名單) 希望有想法的版友能不吝分享其概念。 初步有想過應該會分成 「崁在網頁裡」 與 「另開瀏覽器」 兩種, 此處比較想知道「另開瀏覽器」的擋法 (有擋內崁網頁的也歡迎分享)。 即使有一點想法、創意、沒實際 run 過,也可以給一點參考意見。 最後先感謝各位版友不吝指導,謝謝各位。 -- 世界上有種, 將 不可能 轉換為 無限可能 的強大力量, 我稱它為 - 信念 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.69.239 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: tropical72 (180.177.69.239), 時間: 01/11/2012 21:54:33
文章代碼(AID): #1F3PIQhi (Programming)
文章代碼(AID): #1F3PIQhi (Programming)