Internet Explorer 확장 프로그램 만들기
전제 조건:
단계:
클래스 라이브러리 프로젝트 만들기: Visual Studio에서 "InternetExplorerExtension"이라는 새 C# 클래스 라이브러리 프로젝트를 만듭니다.
참조 추가: "Interop.SHDocVw" 및 "Microsoft.mshtml" 어셈블리에 대한 참조를 추가합니다.
BHO 클래스 정의: "WordHighlighterBHO"라는 클래스를 만들고 다음 인터페이스를 구현합니다.
문서 완료 이벤트 처리: DOM을 순회하고 JavaScript를 사용하여 특정 단어(예: "browser")의 발생을 강조 표시하는 "OnDocumentComplete" 메서드를 구현합니다.
메뉴 항목 추가: 추가 기능의 구성 양식을 열려면 메뉴 항목 명령을 정의합니다.
영구 데이터: 지속성을 위해 구성 옵션(예: 강조 표시할 텍스트)을 레지스트리에 저장합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!