Internet Explorer 拡張機能を作成します
前提条件:
手順:
クラス ライブラリ プロジェクトを作成します: Visual Studio で、「InternetExplorerExtension」という名前の新しい C# クラス ライブラリ プロジェクトを作成します。
参照の追加: "Interop.SHDocVw" アセンブリと "Microsoft.mshtml" アセンブリへの参照を追加します。
BHO クラスを定義します: 「WordHighlighterBHO」という名前のクラスを作成し、次のインターフェイスを実装します:
ドキュメント完了イベントの処理: 「OnDocumentComplete」メソッドを実装します。このメソッドは DOM を横断し、JavaScript を使用して特定の単語 (例: 「ブラウザ」) の出現を強調表示します。
メニュー項目の追加: アドインの構成フォームを開くためのメニュー項目コマンドを定義します。
永続データ: 構成オプション (強調表示するテキストなど) をレジストリに保存して永続化します。
BHO の登録: 「RegisterBHO」メソッドを使用して、アドインをシステムに登録します。
コンパイルとインストール: ソリューションをビルドし、GAC にアセンブリを登録するように「ビルド後」イベントを構成してください。
IE11 に関する追加メモ:
サンプルコード:
<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>
以上がC# と Visual Studio を使用して Internet Explorer 拡張機能を開発するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。