2010-01-05 2 views
0

많은 CHM 파일이 있고 각 파일은 5 개의 다른 HTML 파일에 대한 고풍스러운 html입니다. 제 말은 Alpha, Beta, Gamma, Delta, Theta라는 5 개의 파일이 있다고 가정 해 보겠습니다. 말하자면,이 5 개의 파일을 CHM 파일로 압축합니다. 파일 CompressedHtm.CHM을 호출 할 수 있습니다. 나는 500 개 이상의 파일을 가지고 있습니다. 이제이 500 개 이상의 파일 모두에 5 개의 하위 파일 (예 : 알파, 베타, 감마, 델타, 세타)이 모두 있는지 확인하고 싶습니다. VC++ 6.0/MFC에서 CHM 파일을 분해하지 않고 확인하는 방법이 있습니까?chm 파일에 서브 파일이 있는지 확인하는 방법은 무엇입니까?

답변

1

Free Pascal을 사용하면 CHM 파일의 내용을 나열 할 수있는 완전히 독립형 (*) 명령 행 실행 가능 CHMLS가 제공됩니다. 여러 플랫폼에 존재합니다.

파이프를 사용하여 실행 한 다음 출력을 처리 할 수 ​​있습니다.

내가 며칠 뒤 다른 SB의 예전 친구를 압축하는 일이, 당신은 여기 http://www.stack.nl/~marcov/chmls.zip

을 갖다 (또는 당신이 나를 신뢰하지 않는 경우 2.4.0 창 릴리스 FPC 다운로드)

을 할 수 있습니다

(*) win9x에서 상태를 알지 못합니다.

<Section> <Offset> <UnCompSize> <Name> 
0    0   0 /#ITBITS 
1  27737212  192334 /#STRINGS 
0    70   133 /#SYSTEM 
1  22414493  169080 /#TOCIDX 
1  26847375  339904 /#TOPICS 
1  27187279  294757 /#URLSTR 
1  27482036  255176 /#URLTBL 
1  27929546  1174749 /$FIftiMain 
1  22411742   2751 /$OBJINST 
0    0   0 /$WWKeywordLinks/ 
1  24122411  628812 /$WWKeywordLinks/BTree 
1  24751223  111371 /$WWKeywordLinks/Data 
1  24862594   2378 /$WWKeywordLinks/Map 
1  24864972   1 /$WWKeywordLinks/Property 
0    0   70 /_#_README_#_ 
0    0   0 /baseunix/ 
1  10656150   1395 /baseunix/_stat_ver.html 
1  10651853   1438 /baseunix/_stat_ver_kernel.html 
1  10654717   1433 /baseunix/_stat_ver_linux.html 
1  10650407   1446 /baseunix/_stat_ver_linux_old.html 
1  10653291   1426 /baseunix/_stat_ver_svr4.html 
1  10452426   1438 /baseunix/arg_max.html 
1  10644473   1510 /baseunix/bitsinword.html 

이 파일은 #로 시작하고 $ 내부 파일입니다 같은

출력은 보인다.

(도구는 Free Pascals 문서 및 도움말 시스템에 대한 다른 도구와 독립적으로 CHM 읽기/쓰기 지원을 지원하는 Free Pascal의 CHM 라이브러리와 함께 제공되는 유틸리티입니다. OS 독립적이며 OS X에서 잘 작동합니다./PowerPC64

0

HTML 도움말은 IE를 사용하여 표시합니다. 따라서 웹 브라우저를 사용하여 mk : @MSITStore : c : \ WINDOWS \ Help \ htmlhelp.chm ::/apiref.htm과 같은 URL로 이동해야합니다. 파일이 존재하지 않으면 404 상태 코드와 함께 DWebBrowserEvents2 :: NavigateError를 얻을 수 있습니다. 최신 버전의 Windows에서 Microsoft가 limited its usage due to security concerns 인 경우 다른 오류가 발생할 수 있습니다.

관련 문제