chm 파일에 하위 파일이 있는지 확인하는 방법은 무엇입니까?
-
18-09-2019 - |
문제
나는 많은 CHM 파일을 가지고 있으며 각 파일은 5개의 다른 HTML 파일에 대한 압축된 HTML입니다.내 말은, Alpha, Beta, Gamma, Delta, Theta라는 이름의 5개 파일이 있다고 가정해 보겠습니다.예를 들어, 이 5개를 CHM 파일로 압축합니다.해당 파일을 CompressedHtm.CHM이라고 부르겠습니다.이 파일이 500개 이상 있습니다.이제 500개 이상의 파일에 모두 5개의 하위 파일이 있는지 확인하고 싶습니다(예:알파, 베타, 감마, 델타, 세타).CHM 파일을 디컴파일하지 않고 VC++ 6.0/MFC에서 이를 확인할 수 있는 방법이 있습니까?
해결책
프리 파스칼에는 CHM 파일의 내용을 나열할 수 있는 완전한 독립형(*) 명령줄 실행 CHMLS가 제공됩니다.여러 플랫폼에 존재합니다.
파이프를 사용하여 이를 실행한 다음 출력을 처리할 수 있습니다.
며칠 전에 우연히 sb용 exes를 압축했는데 여기에서 다운로드할 수 있습니다.http://www.stack.nl/~marcov/chmls.zip
(또는 나를 믿지 않는다면 fpc 2.4.0 Windows 릴리스를 다운로드하십시오)
(*) 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
#과 $로 시작하는 파일은 내부 파일입니다.
(이 도구는 프리 파스칼 문서 및 도움말 시스템에 대한 다른 도구와 독립적으로 CHM 읽기/쓰기 지원을 지원하는 프리 파스칼의 CHM 라이브러리와 함께 제공되는 유틸리티입니다.OS 독립적이며 제가 아는 바로는 OS X/PowerPC64에서 잘 작동합니다.
다른 팁
HTML Help Display에 IE를 사용합니다. 따라서 webbrowser를 사용하여 mk : @msitstore : c : wind 파일이 존재하지 않으면 404 상태 코드로 dwebbrowserevents2 :: navigateError가 표시됩니다. Microsoft와 같이 최신 버전의 Windows에서 다른 오류가 발생할 수 있습니다. 보안 문제로 인해 사용량이 제한되었습니다.