Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membangunkan Sambungan Internet Explorer Menggunakan C# dan Visual Studio?

Bagaimana untuk Membangunkan Sambungan Internet Explorer Menggunakan C# dan Visual Studio?

Patricia Arquette
Patricia Arquetteasal
2025-01-23 01:56:10497semak imbas

How to Develop an Internet Explorer Extension Using C# and Visual Studio?

Buat sambungan Internet Explorer

Prasyarat:

  • Familiar dengan Visual Studio dan pembangunan .NET
  • Ketahui tentang antara muka COM (pilihan, tetapi membantu)

Langkah:

  1. Buat projek perpustakaan kelas: Dalam Visual Studio, buat projek perpustakaan kelas C# baharu bernama "InternetExplorerExtension".

  2. Tambah Rujukan: Tambah rujukan pada himpunan "Interop.SHDocVw" dan "Microsoft.mshtml".

  3. Tentukan kelas BHO: Buat kelas bernama "WordHighlighterBHO" dan laksanakan antara muka berikut:

    • IObjectWithSite (digunakan untuk mengurus objek penyemak imbas)
    • IOleCommandTarget (digunakan untuk mengendalikan arahan item menu)
  4. Mengendalikan acara penyiapan dokumen: Laksanakan kaedah "OnDocumentComplete", yang merentasi DOM dan menggunakan JavaScript untuk menyerlahkan kejadian perkataan tertentu (cth., "pelayar").

  5. Tambah item menu: Tentukan arahan item menu untuk membuka borang konfigurasi tambahan.

  6. Data berterusan: Simpan pilihan konfigurasi (seperti teks untuk diserlahkan) ke pendaftaran untuk kegigihan.

  7. Daftar BHO: Gunakan kaedah "DaftarBHO" untuk mendaftarkan tambahan kepada sistem.

  8. Susun dan pasang: Bina penyelesaian dan pastikan untuk mengkonfigurasi acara "pasca-bina" untuk mendaftarkan pemasangan dalam GAC.

Nota tambahan untuk IE11:

  • Pastikan Visual Studio berjalan sebagai pentadbir untuk pendaftaran pasca binaan.
  • Jika pemasangan "MSHTML" belum didaftarkan dalam sistem, tambahkannya pada rujukan projek.

Kod sampel:

<code class="language-csharp">namespace InternetExplorerExtension
{
    public class WordHighlighterBHO : IObjectWithSite, IOleCommandTarget
    {
        // ...
        public void OnDocumentComplete(object pDisp, ref object URL)
        {
            // ...
        }
        // ...
        public int Exec(IntPtr pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut)
        {
            // ...
            // 从命令栏访问文档。
            var document = browser.Document as IHTMLDocument2;
            var window = document.parentWindow;
            var result = window.execScript(@"alert('您现在可以配置要高亮的文本...');");

            var form = new HighlighterOptionsForm();
            form.InputText = TextToHighlight;
            if (form.ShowDialog() != DialogResult.Cancel)
            {
                TextToHighlight = form.InputText;
                SaveOptions();
            }
            // ...
            return 0;
        }
        // ...
        public static void RegisterBHO(Type type)
        {
            string guid = type.GUID.ToString("B");

            // ...
        }
        // ...
    }
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Membangunkan Sambungan Internet Explorer Menggunakan C# dan Visual Studio?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn