2011-10-19 2 views
3

dll에있는 리소스 (html 파일)를 사용하려고합니다. WinForms WebBrowser를 사용하면 파일을 탐색 할 때 AxSHDocVw.dll 및 ShDocVw.dll 및 AxWebBrowser가 포함되어 있으면 아무 작업도 수행되지 않습니다. WinForms WebBrowser 컨트롤이 어떻게 든 제한 되었습니까? res : //를 실행할 수 있습니까?res : // 프로토콜을 System.Windows.Forms.WebBrowser와 함께 사용

+0

사용하려는 정확한 URL은 무엇입니까? – EricLaw

답변

1

보안상의 이유로 WinForms의 WebBrowser 컨트롤이 res : // 링크를 처리하지 않는다고 가정합니다. 누군가가 접근하기를 원치 않는 DLL에 포함 된 리소스에 액세스하는 것은 매우 쉽습니다.

직접 기능을 구현하려면 Assembly 클래스와 그 사용법을 살펴 보는 것이 좋습니다. res : ///를 DLL 경로로 파싱하고, 어셈블리를로드하고, 주어진 리소스를 검색하고, WebBrowser 컨트롤을 반환하는 것은 어렵지 않습니다.

1

내 게시물을 참조하십시오 : https://stackoverflow.com/a/15672462/1413201.

기본 요점에는 코드 파일에 두 가지 유형의 리소스가 있습니다. res 프로토콜을 사용하려면 C 스타일의 리소스 스크립트를 포함해야합니다. 탐색 오류는 WebBrowser 컨트롤에서 해제되어 있으므로 오류가 표시되지 않습니다.

IE에서 res 프로토콜을 사용하여 리소스가 실제로 파일에 있는지 테스트하고 C 스타일 리소스 편집기를 사용하여 이중 확인을 이중으로 수행 할 수 있습니다.