重要な場合は Robohelp を使用します。HtmlHelp でヘルプ ファイルの実行時のパスを取得するにはどうすればよいですか? マージされた.chmがあります(ただし、メインアプリケーションによってではありません)。TOC のエントリがクリックされたときにスレーブ .chm を独自のウィンドウで開くにはどうすればよいですか?
これは、いくつかの JavaScript を含む「隠し」ファイルを使用して機能しましたが、マージ後は機能しません。
<a href="Hidden.htm">Click For SlaveB.chm through hidden</a>
これは「隠し」htm ファイルにあります。
<object
classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"
id="window_opener" type="application/x-oleobject">
<param name="Command" value="Shortcut" />
<param name="Font" value="Microsoft Sans Serif,8,0,," />
<param name="Item1" value=",hh.exe,./SlaveB.chm::/MyTopic.htm"/>
</object>
<!--Metadata type="DesignerControl" endspan-->
<script type="text/javascript">window_opener.hhclick();
history.back();</script>
これは機能しましたが、新しいウィンドウで .chm を開きません:
<p><a href="SlaveB.chm::/MyTopic.htm">Click For MyTopic.htm in same window</a></p>
トピックで .chm へのハードコードされた絶対パスを使用する場合にも機能しました。現在の .chm が動作しているパスを見つけて、(同じディレクトリにある) a.chm を新しいウィンドウで開きたいだけです。これは、他の .chm (新しいウィンドウで開きたいもの) のリンク/オープンのみを提供する、マージされる単純な .chm にすることができます。たとえば、SlaveA.chm はメイン アプリの Master .chm にマージされます (これを編集するアクセス権がありません) が、SlaveA は単に、私の SlaveB.chm を完全に新しいウィンドウ (スレーブ B はまったくマージされません)