2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ヘルプファイル(.chm)の手動コンパイルについて

Last updated at Posted at 2020-02-17

業務アプリケーションのFAQなどを.chmファイルとしてユーザーに提供する場合、フリーソフトのヘルプましんなどを使用する場合が多いと思う。
そんな便利なフリーソフトがあるにも関わらず、手動で.chmファイルをコンパイルする機会があったので、需要は少ないが、ナレッジを残す。

ヘルプファイルを手動コンパイルするために必要なもの

No ファイル 備考
1 .html ヘルプページそのもの
2 .hhc ヘルプファイルの左側にあるTreeViewの階層を定義するファイル
3 .hhp プロジェクトファイル。コンパイル時のオプションなどを定義するファイル
4 hhc.exe ヘルプファイルをコンパイルしてくれる.exe

htmlファイル

html形式でヘルプページを作成しよう。cssも使用できる。

(ヘルプファイルもある意味、ブラウザといえるのだろうか。)

hhcファイル

ヘルプファイルの左側にはファイルの階層をTreeViewで表示している。
この階層の定義や、各階層ごとのアイコンの設定などを.hhcファイルに記述しよう。

基本的な構成は以下の通り。

hoge.hhc
<!--1階層目-->
<UL>
    <LI><OBJECT type="text/sitemap">
    <param name="Name" value="Title"/> <!--表示される名前-->
    <param name="Local" value="htmlFilePath"/> <!--ヘルプページのパス-->
    <param name="ImageNumber" value="1"/> <!--アイコン-->
    </OBJECT></LI>

    <!--2階層目--> 
  <UL>  
        <LI><OBJECT type="…">
        …
        </OBJECT></LI>

        <!--以下無限に繰り返せる-->
        <UL> 
         <LI><OBJECT type="…"> 
           …
            </OBJECT></LI>
        </UL>
    </UL> 
</UL>

<UL>タグで階層の段階を表し、<LI>タグで一つのヘルプページを表す。

ハマったポイント

<LI>タグと<OBJECT>タグが同一行に存在しないとコンパイラが認識してくれず、メニュー階層に表示されない。
コンパイルログにエラー表記されないため、注意が必要である。
 

hhpファイル

ヘルプファイルをコンパイルするための設定情報を定義する。
あまりナレッジがなく、ヘルプましんで作成された.hhpファイルから不必要な設定を削っただけなので、詳しい説明はできない。

hoge.hhp
[OPTIONS]
Auto Index=Yes
Binary Index=Yes
Compatibility=1.1 or later
Compiled file=FAQ.chm
Contents file=FAQ.hhc
Default Font=MS UI Gothic,16,138
Default Window=XHP
Default topic=htmlPath
Display compile progress=No
Error log file=Compile.Log
Flat=No
Full-text search=Yes
Language=0x0411 Japanese
Title=FAQ

[OPTION]以外にも設定できるが、コンパイルを通すだけならば、上記で十分である。

hhc.exe

HTML Help Workshopをダウンロード、インストールする。
hhc.exeはC:\System32\hha.dllを使用するため、インストールした方が無難である。

コンパイル

>hhc.exe hoge.hhp

脆弱性の問題で、ネットワークドライブ上の.chmは正常に表示できない仕様になっている。
ローカルで内容を確認しよう。

起動

hh.exeで起動する。
起動時の初期ページを変更するためには「::」のあとに表示したいhtmlファイルのchmファイルからの相対パスを記述する。

>hh.exe hoge.chm
>hh.exe hoge.chm::fuga.html
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?