0

私はいくつかのCHMファイルを持っており、各ファイルは5つの異なるHtmlファイルの圧縮されたhtmlです。つまり、Alpha、Beta、Gamma、Delta、Thetaという名前の5つの異なるファイルがあるとします。たとえば、これら5つをCHMファイルに圧縮します。そのファイルをCompressedHtm.CHMと呼びましょう。これらのファイルは500個を超えています。次に、これらの500を超えるファイルすべてに5つのサブファイル(つまり、アルファ、ベータ、ガンマ、デルタ、シータ)がすべて含まれているかどうかを確認します。CHMファイルを分解せずにVC++6.0 / MFCでそれを確認する方法はありますか?

4

2 に答える 2

1

Free Pascalには、CHMファイルの内容を一覧表示できる完全にスタンドアロン(*)の実行可能CHMLSが付属しています。複数のプラットフォームに存在します。

パイプを使用してそれを実行し、出力を処理することができます。

たまたまsbのexeを数日前に圧縮しました。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

#と$で始まるファイルは内部ファイルです。

(ツールは、Free Pascalのドキュメントおよびヘルプシステム用の他のツールに依存しないCHM読み取り/書き込みサポートをサポートするFreePascalのCHMライブラリに付属するユーティリティです。OSに依存せず、私の知る限り、OS X/PowerPC64で正常に動作します。

于 2010-01-23T13:15:22.810 に答える
0

HTMLヘルプは、表示にIEを使用します。したがって、Webブラウザを使用してmk:@MSITStore:c:\ WINDOWS \ Help \ htmlhelp.chm::/apiref.htmのようなURLに移動する必要があります。ファイルが存在しない場合は、404ステータスコードのDWebBrowserEvents2::NavigateErrorが発生します。Microsoftはセキュリティ上の懸念から使用を制限しているため、最新バージョンのWindowsでは他のエラーが発生する可能性があることに注意してください。

于 2010-01-06T02:17:09.327 に答える