2010-02-16 5 views
7

C#을 사용하여 특정 항목을 열 수있는 CHM 파일을 가져 오려고합니다.CHM 파일의 모든 항목 나열

나는

Help.ShowHelp(this, path, HelpNavigator.Topic, "TopicTitle"); 

를 사용하여 시도했지만이 페이지를 찾을 수 없습니다. 주제 제목을 정확히 입력해서는 안됩니다. 내가 무엇을 볼 수 있도록 CHM 파일에서 모든 주제를 프로그래밍 방식으로 검색 할 수있는 방법이 있습니까?

답변

7

아니요, 아니요, HtmlHelp API 함수는 너무 열거하여 항목을 열거 할 수 없습니다. .chm 파일을보기 위해 7-zip 파일 관리자를 사용할 수 있습니다. 파일을 마우스 오른쪽 버튼으로 클릭하고 "내부 열기"를 선택하십시오. 또는 사용 된 도움말 작성 도구를 사용하십시오.

4

CHM 파일을 열고 도움말 페이지를 마우스 오른쪽 단추로 클릭하면 속성 명령을 선택할 수 있습니다.
속성 페이지의 중간에는 주소 (URL)라는 속성이 있습니다.
URL 끝 부분에는 도움말 파일을 올바른 페이지로 여는 데 사용되는 항목 문자열이 들어 있습니다. MK : @MSITStore : C : 여기

은 예입니다 \ 프로그램 % 20Files \ Sisulizer %의 202,010 \ Sisulizer.chm ::/OutputFiles.htm

URL이있는 항목을 참조하십시오 너무 긴 경우 끝으로 마우스로 주소를 선택하고 끝까지 스크롤 할 수 있습니다.

다음은 스크린 샷입니다.

enter image description here

+0

멋진, 당신이 말하는 일을하면 HTML 파일이 아닌 다른 앵커 문자열을 제공합니다. 도움말 파일의 스크롤 위치와 강조 표시된 내용을 왼쪽의 목록에서 변경합니다 ('명백한'앵커 이름을 사용하면 이전 파일 만 변경됨). 감사! –

0

나는 프로그래밍 CHM에서 주제를 검색하는 방법에 대한 확실하지 않다. 그러나이 방법으로 한 줄 코드를 변경했는데 효과가있었습니다.

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle"); 
1

또한 path이 CHM 파일 경로 다음, 사용할 수 있습니다 :

using System.Windows.Forms; 

Help.ShowHelp(this, path, HelpNavigator.KeywordIndex, "Topic title");