2011-08-29 66 views
0

我已經爲一家公司編寫了一個廣告軟件(不是間諜軟件!這是道德和合法的)程序。上下文廣告軟件

基本上這個公司想要的是放棄免費的東西來換取下載顯示廣告的用戶瀏覽互聯網的廣告軟件的人。

我必須做的是創建一個程序,每當某個URL顯示在地址欄中時,該程序將打開一個新的IE實例。

因此,如果用戶進入http://google.com則一定廣告就會彈出

我的問題是從哪裏開始(以便它知道什麼彈出了這個軟件連接到互聯網)?我應該使用VB.NET來做這個程序嗎?

我還沒有完全做過這樣的事情,我只是想讓我指點一些關於如何開始的資源。

+0

道德不請自來的廣告軟件的概念給出了一些暫停,但似乎麻子標誌這是不可避免的,這些天。在用戶機器上啓動*進程*而沒有辦法控制它的概念仍然是令人無法接受的。有一個pr0n網站作者的論壇是我想象的地方。 –

+0

這對我來說也很奇怪。但是這就是'選擇'免費獲得另一個有用的軟件,以換取看廣告。 –

回答

0

是的,你可以通過VB.Net做到這一點。您需要使用InternetExplorer對象。它暴露了許多讓你自動化IE的屬性。

要使用這些對象,您需要爲Microsoft Internet控件的項目添加COM引用。不同版本的IE使用不同的DLL; IE7是ieframe.dll,IE6是SHDocVw.dll。爲了讓你的代碼在兩個版本上都可以工作,你應該避免使用任何IE7特性,並使用後期綁定/ COM接口而不是早期綁定。

您會遇到的一個問題是,InternetExplorer對象只會創建新的實例,而不會連接到現有的實例。下面是一些代碼,將允許您連接到現有的對象:

Dim Existing As New List(Of SHDocVw.InternetExplorer) 
Dim SWs As New SHDocVw.ShellWindows 
Dim IE As SHDocVw.InternetExplorer 

For Each IE In SWs 
    'Add this instance to the list 
    Existing.Add(IE) 
Next 
1
+0

廣告插件必須採用IE擴展的形式嗎?它不能是桌面程序或獨立程序嗎? –

+0

「我必須做的是創建一個程序,每當某個URL顯示在地址欄中時,該程序就會打開一個新的IE實例。」 < - Jimmy Huch。我根據你的言論做出了一個假設。每個瀏覽器都有不同的API來進行交互。你可以編寫一個程序來處理所有這些程序,但它會更大;或者您可以使用相同的基本代碼編寫多個程序並根據瀏覽器進行安裝。選擇是你的。 – stslavik