2013-08-20 22 views
0

我爲我的應用程序創建了一個自定義文件類型。當用戶嘗試在IE中下載這種自定義類型的文件時,我希望能夠檢測到下載並採取行動。到目前爲止,我已經開始使用C#編寫BHO,希望能夠檢測下載。不幸的是,我還沒有確定我應該使用什麼事件(可能是OnDocumentComplete)以及要檢查哪些對象和屬性來確定我的文件類型已經遇到。如何在IE中檢測我的文件類型的下載,以便我可以採取措施?如何檢測文件類型從BHO下載?

+0

http://stackoverflow.com/questions/5890430/listen-to-the-internet-explorer-download-event –

回答

1

而不是使用BHO,這種任務的適當擴展是一個MIME處理程序。有關此主題的詳細信息,請參閱http://msdn.microsoft.com/en-us/library/aa767916(v=vs.85).aspx。儘管如此,所有的IE擴展(尤其是URLMon可插拔擴展)極其難以正確編寫,因此經常出現安全漏洞和可靠性錯誤。他們也不能在其他瀏覽器中工作,並且不能在Windows 8 +上的IE10 +的「Metro」模式下工作。

而不是去瀏覽器擴展路線,你最好在Windows註冊表中註冊你的MIME類型/文件擴展名,然後讓它調用你的應用程序。這是穩定的,適用於所有瀏覽器和所有模式。

+0

我最終在WebBrowser.BeforeNavigate2事件處理程序中做了一些URL匹配。這並沒有完成我在問題中提出的問題,但對我的目的來說已經夠好了。如果我有更多時間投資於我試圖解決的問題,這聽起來像是你提出的解決方案將是一個更加強大的追求途徑。 – Scott