簡體   English   中英

如何在C#中創建Internet Explorer邊欄擴展?

[英]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擴展的解決方案 但:

  1. 它無法正常工作:設定的單詞根本不會突出顯示,
  2. 我認為問題是我使用IE9而不是8,
  3. 解決方案沒有告訴我如何為IE9創建側邊欄

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM