Fw: [討論] 防廣告視窗怎麼做的?
※ [本文轉錄自 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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章