7

C#を使用して特定のトピックを開くためにCHMファイルを取得しようとしています。

使ってみました

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

しかし、ページが見つかりません。トピックのタイトルを正しく入力してはいけません。CHMファイルからすべてのトピックをプログラムで取得して、それらが何であるかを確認できる方法はありますか?

4

4 に答える 4

7

いいえ、HtmlHelp API関数は非常に原始的すぎて、トピックの列挙をサポートできません。7-zipファイルマネージャーを使用して、.chmファイルの内部を調べることができます。ファイルを右クリックして、[内部を開く]を選択します。または、使用されたヘルプオーサリングツールを使用します。

于 2010-02-16T21:12:45.377 に答える
4

CHMファイルを開き、ヘルプページを右クリックすると、[プロパティ]コマンドを選択できます。
[プロパティ]ページの中央に、アドレス(URL)というプロパティがあります。
URLの末尾には、ヘルプファイルを正しいページに開くために使用されるトピック文字列が含まれています。

次に例を示します。mk:@MSITStore:C:\ Program%20Files \ Sisulizer%202010 \ Sisulizer.chm :: / OutputFiles.htm

URLが長すぎて最後のトピックが表示されない場合は、マウスでアドレスを選択して最後までスクロールできます。

これがスクリーンショットです。

ここに画像の説明を入力してください

于 2011-05-07T00:29:44.550 に答える
1

次を使用することもできます。ここで、pathはchmファイルへのパスです。

using System.Windows.Forms;

Help.ShowHelp(this, path, HelpNavigator.KeywordIndex, "Topic title");
于 2013-01-23T09:43:06.777 に答える
0

CHMからプログラムでトピックを取得する方法がわかりません。しかし、私はこのように1行のコードを変更し、それは機能しました。

Help.ShowHelp(this, path , HelpNavigator.TopicId,"TopicTitle");
于 2011-07-28T07:46:17.420 に答える