Erstellen Sie eine Internet Explorer-Erweiterung
Voraussetzungen:
Schritte:
Erstellen Sie ein Klassenbibliotheksprojekt: Erstellen Sie in Visual Studio ein neues C#-Klassenbibliotheksprojekt mit dem Namen „InternetExplorerExtension“.
Referenzen hinzufügen: Fügen Sie Referenzen auf die Assemblys „Interop.SHDocVw“ und „Microsoft.mshtml“ hinzu.
Definieren Sie die BHO-Klasse: Erstellen Sie eine Klasse mit dem Namen „WordHighlighterBHO“ und implementieren Sie die folgende Schnittstelle:
Behandlung des Dokumentabschlussereignisses: Implementieren Sie die Methode „OnDocumentComplete“, die das DOM durchläuft und JavaScript verwendet, um Vorkommen eines bestimmten Worts (z. B. „Browser“) hervorzuheben.
Menüelement hinzufügen: Definieren Sie einen Menüelementbefehl, um das Konfigurationsformular des Add-Ins zu öffnen.
Persistente Daten: Speichern Sie Konfigurationsoptionen (z. B. hervorzuhebender Text) zur Persistenz in der Registrierung.
BHO registrieren: Verwenden Sie die Methode „RegisterBHO“, um das Add-In im System zu registrieren.
Kompilieren und installieren: Erstellen Sie die Lösung und stellen Sie sicher, dass Sie das „Post-Build“-Ereignis konfigurieren, um die Assembly im GAC zu registrieren.
Zusätzliche Hinweise für IE11:
Beispielcode:
<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>
Das obige ist der detaillierte Inhalt vonWie entwickle ich eine Internet Explorer-Erweiterung mit C# und Visual Studio?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!