[英]How to create Internet Explorer sidebar extension in C#?
我想創建一個IE擴展 - 側邊欄 (“資源管理器欄”)看起來就像IE9中的書簽/收藏夾側邊欄,它應該在其中顯示HTML網頁。
我用谷歌搜索了幾個小時,讀了一些:
和
但我需要一個側邊欄 - 沒有窗戶或信息框。 我想看一個簡單的基本解決方案 - 我稍后會詳細介紹。
我為FF和Chrome創建了一個擴展 - 他們的擴展開發中心比微軟更好。
請告訴我,我應該以簡單的步驟做什么。 我想在Visual Studio 2010和C#中創建IE擴展。 我無法用C ++創建它。
編輯(2011-10-20):
我已經設法完成了如何開始開發Internet Explorer擴展的解決方案? 但:
BTW。 我使用Visual Studio 2010 Express(Visual C#2010 Express) - 非專業版或旗艦版 - 我認為項目的“調試”選項卡中沒有“啟動外部程序”選項。
請幫忙。
我找到了一個完美的工作示例: http : //code.msdn.microsoft.com/CSIEExplorerBar-ba8fe182/view/Reviews
非常有趣的是我無法通過Google找到它...
下載后,只需解壓縮文件並打開CSIEExplorerBar.sln。 某些解決方案的項目無法導入到VS 2010中 - 它只是安裝程序項目,您不需要它們來運行BHO。
轉到項目的屬性,在Build Events選項卡中將此文本放入“Post-build event command line”(字面意思):
"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /f /i "$(TargetDir)$(TargetFileName)"
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" /unregister "$(TargetDir)$(TargetFileName)"
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "$(TargetDir)$(TargetFileName)"
構建項目 - 您會收到錯誤,因為您可以看到,第二個命令嘗試取消注冊BHO但尚未注冊任何內容。 您可以重新運行構建,您將不會遇到任何錯誤。
打開IE瀏覽器。 打開視圖菜單,資源管理器欄並單擊“圖像列表瀏覽器欄” - 您應該看到剛剛構建的資源管理器欄!
要允許BHO顯示HTML頁面,您只需更改用戶控件設計 - 添加WebBrowser控件並添加要顯示給控件的頁面的URL。
細節
我為Chrome和Firefox創建了擴展程序。 IE擴展是最糟糕的架構。 文檔很糟糕 - 它只是過時而且只適用於C ++。 Chrome和Firefox的擴展程序基於HTML / XUL和JavaScript - 幾乎每個Web開發人員都可以在幾分鍾內構建他/她自己的擴展程序! 我認為在IE中要困難得多 - 你必須逐字地瀏覽互聯網以找到對這項技術有用的任何信息。
你可以在這里閱讀 - http://msdn.microsoft.com/en-us/library/bb776819.aspx - 你必須玩一個叫做Registry的神奇東西。 這是他們可以選擇存儲擴展數據的最糟糕的事情。 我仍然不知道在哪里可以添加有關作者或BHO版本的信息。 如果您這樣做,請回答: https : //stackoverflow.com/questions/7926800/how-to-add-author-name-version-number-description-etc-to-browser-helper-objec
如果未在此解決方案中使用密鑰IEExplorerBar.snk簽名,則BHO將無法工作。 您可以非常輕松地在新項目中添加密鑰 - 只需打開項目屬性,“簽名”選項卡 - “簽署程序集”並添加新密鑰。
文檔非常陳舊,沒有人對此做任何事情!
恕我直言微軟應該重新設計並再次編寫IE - 它的架構已經過時,不合時宜。
一些鏈接
添加工具欄按鈕以打開資源管理器欄: http : //msdn.microsoft.com/en-us/library/aa753588%28v=VS.85%29.aspx#details_explorer
有關x64系統中注冊表的一些信息: http : //msdn.microsoft.com/en-gb/library/aa384232%28VS.85%29.aspx
關於Interlop命名空間(SHDocVw): http : //msdn.microsoft.com/en-us/library/microsoft.visualstudio.ole.interop.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.