首頁 >後端開發 >C++ >如何使用 Visual Studio 和 COM 建立 Internet Explorer 擴充功能?

如何使用 Visual Studio 和 COM 建立 Internet Explorer 擴充功能?

Linda Hamilton
Linda Hamilton原創
2025-01-23 02:02:08923瀏覽

How can I create an Internet Explorer extension using Visual Studio and COM?

開發Internet Explorer擴充功能指南

建立可運行的Internet Explorer擴充功能

先決條件:

  • Visual Studio
  • .NET Framework 4.0或更高版本
  • Internet Explorer

步驟:

  1. 建立類別庫專案:

    • 新建一個類別庫項目,命名為「IEExtension」或您喜歡的名稱。
  2. 新增引用:

    • 新增對「Interop.SHDocVw」和「Microsoft.mshtml」組件的參考。
  3. 建立原始檔:

    • 建立兩個來源檔案:「IEAddon.cs」和「Interop.cs」。

    IEAddon.cs:

    <code class="language-csharp">using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
    using Microsoft.Win32;
    using mshtml;
    using SHDocVw;
    
    namespace IEAddon
    {
        [ComVisible(true)]
        [ClassInterface(ClassInterfaceType.None)]
        [Guid("D40C654D-7C51-4EB3-95B2-1E23905C2A2D")]
        [ProgId("MyBHO.WordHighlighter")]
        public class WordHighlighterBHO : IObjectWithSite, IOleCommandTarget
        {
            //... (此处省略部分代码)
        }
    }</code>

    Interop.cs:

    <code class="language-csharp">using System;
    using System.Runtime.InteropServices;
    namespace IEAddon
    {
        [ComVisible(true)]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        [Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352")]
        public interface IObjectWithSite
        {
            //... (此处省略部分代码)
        }
    }</code>
  4. 建立配置窗體:

    • 建立一個名為「HighlighterOptionsForm」的新窗體,其中包含一個TextBox(用於輸入搜尋字詞)和一個「確定」按鈕。
  5. 設定項目屬性:

    • 使用強密鑰簽章組件。
    • 在「偵錯」標籤中將「啟動外部程式」設定為「iexplore.exe」。
    • 在「偵錯」標籤中將「命令列參數」設定為外部URL。
    • 新增一個產生後事件,使用RegAsm.exe註冊組件。
  6. 建置與運作:

    • 建置專案並使用Internet Explorer運行它。

使用方法:

  • 此加載項將使用黃色背景來反白網頁中指定單字(預設值為「browser」)的所有實例。
  • 點擊反白的文字將呼叫JavaScript函數。
  • 要更改突出顯示的單詞,請按一下按鈕,在文字方塊中設定值,然後按「確定」。

其他資訊:

  • 「IEAddon」類別實作「IObjectWithSite」和「IOleCommandTarget」介面以實現BHO功能。
  • 「Interop」類別定義「IObjectWithSite」介面以支援COM互通。
  • 產生後腳本在Windows登錄檔和Internet Explorer擴充功能選單中註冊BHO。
  • 要停用或卸載BHO,請使用RegAsm取消註冊它。

以上是如何使用 Visual Studio 和 COM 建立 Internet Explorer 擴充功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn