2011-10-19 19 views
3

我試圖使用位於dll中的資源(html文件)。使用WinForms WebBrowser時,當我導航到該文件時,沒有任何反應,而包含AxSHDocVw.dll和SHDocVw.dll以及AxWebBrowser時,它可以工作。 WinForms WebBrowser控件是受限制的嗎?我可以讓它運行res://?在System.Windows.Forms.WebBrowser中使用res://協議

+0

什麼是您嘗試使用的確切URL? – EricLaw

回答

1

我會假設的是,出於安全原因,WinForms的WebBrowser控件不處理res://鏈接。這會讓別人很容易地訪問您的DLL中包含的資源,這些資源可能不想訪問。

如果你想自己實現這個功能,那麼我建議看一下Assembly類和它的用法。將res:///解析爲DLL路徑並加載程序集,搜索給定的資源並返回WebBrowser控件應該不難。

1

查看我的帖子:https://stackoverflow.com/a/15672462/1413201

基本要點代碼文件中有兩種類型的資源。您需要包含一個C風格資源腳本才能使用res協議。導航錯誤可能在WebBrowser控件中關閉,因此您看不到錯誤。

您可以在IE中使用res協議來測試資源是否實際存在於文件中,並使用C風格資源編輯器來進行雙重檢查。