2010-03-08 2 views
5

기본 브라우저에서 Process.Start를 사용하여 로컬 HTML 파일을 시작하려고합니다. 다음과 같이Process.URL에 앵커가있는 시작 (URL)

URL의 예는 다음과 같습니다

"file:///C:/Documentation/HelpContent/default_CSH.htm#SectionA/Topic1.htm" 

문제는,이 정보를 브라우저에 전달되지 않도록 "# SectionA/Topic1.htm"비트는, 어떤 이유로 벗겨됩니다. 그러나 비 지역 URL에 대해서는 정상적으로 작동합니다.

아무에게도이 작업을 수행 할 수있는 방법을 알고 있거나 예방적인 보안 문제일까요?

감사

+0

브라우저 주소 표시 줄에 주소를 붙여 넣으면 주소가 작동합니까? 앵커 레이블에서/문자를 제거하려고 시도하십시오 ... – munissor

+0

예, 동의합니다. 해당 URL에는 두 개의 파일 이름이 있습니다. 이는 다소 이상합니다. – jgallant

+0

불행히도 /이 필요합니다. URL은 다른 프레임에서 Topic1.htm을 실행하기 때문에 비슷합니다 (MadCap Flare의 WebHelp 출력입니다). –

답변

4

특별히 인수로 URL을 지정할 수 있도록 iexplore.exe에 대한 사용 Process.Start : 당신이 OS 할 경우 작동하지 않습니다

System.Diagnostics.Process.Start("iexplore.exe", @"file:///c:/dir/file.html#anchor"); 
+0

감사합니다. 당분간이 방법을 사용했습니다. 정말 IE로 제한하기보다는 기본 브라우저에서 열 수 있어야합니다. –

2

브라우저에서 앵커로 URL을 시작 기본 브라우저를 결정하십시오. 이 작업을 수행하는 유일한 방법은 IE 용 binarycoder가 작성한 브라우저 실행 파일을 지정하는 것입니다. Firefox와 같은 방식으로 작동합니다.

가장 좋은 해결책은 레지스트리에서 기본 브라우저 경로를 확인한 다음 해당 실행 파일을 구체적으로 호출하는 것입니다.

+0

[여기] (http://en.code-bude.net/2013/04/28/how-to-retrieve-default-browsers-path-in-c/)는 좋은 기사입니다. 레지스트리에서 기본 브라우저 경로 – Chris

관련 문제