2012-08-11 148 views
0

我想使用BHO阻止一些URL。要檢查瀏覽器將要使用的URL,我正在使用BeforeNavigate2事件。然後,在這個事件中,如果URL被禁止,我爲我的URL做一個Navigate2事件。但我想操縱哪些網址會出現在欄中。我不想顯示Navigate2去的URL。我怎麼能使用BHO做到這一點?使用BHO操作URL欄

+1

我認爲這是瀏覽器廠商將特別設置的防止它的東西。但那麼我怎麼知道編寫惡意軟件... – 2012-08-12 00:04:07

回答

0

通過瀏覽器界面更改地址欄將觸發新的導航。您可能必須使用Win32 API來查找實際編輯字段並直接對其進行處理。但是,通過導航到一個真實的URL,瀏覽器很可能在導航過程中重寫您的自定義文本。

+0

這不是我所期望的...所以要更改URL欄文本,我需要獲取IE的句柄/子句柄,然後使用URL I的SendMessage(WM_SETTEXT)想表現?通過BHO我不能設置? – HwTrap 2012-08-11 23:41:48

+0

是否可以繼承Url欄的句柄? BHO註冊後不可能做如下操作: IE_URLBAR_​​CLASSNAME =('AddressDisplay Control'); 而不是使用FindWindow/FindWindowEx來獲取句柄?然後如果我得到句柄,我可以使用WM_SETTEXT ... – HwTrap 2012-08-12 00:08:31