Create an Internet Explorer extension
Prerequisites:
Steps:
Create a class library project: In Visual Studio, create a new C# class library project named "InternetExplorerExtension".
Add References: Add references to the "Interop.SHDocVw" and "Microsoft.mshtml" assemblies.
Define the BHO class: Create a class named "WordHighlighterBHO" and implement the following interface:
Handling the document completion event: Implement the "OnDocumentComplete" method, which traverses the DOM and uses JavaScript to highlight occurrences of a specific word (e.g., "browser").
Add menu item: Define a menu item command to open the add-in's configuration form.
Persistent data: Save configuration options (such as text to highlight) to the registry for persistence.
Register BHO: Use the "RegisterBHO" method to register the add-in to the system.
Compile and install: Build the solution and make sure to configure the "post-build" event to register the assembly in the GAC.
Additional notes for IE11:
Sample code:
<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>
The above is the detailed content of How to Develop an Internet Explorer Extension Using C# and Visual Studio?. For more information, please follow other related articles on the PHP Chinese website!