Microsoft WinHelp とは
Microsoft WinHelp は、
マイクロソフトが開発した独自のオンラインヘルプ形式であり、専用のヘルプブラウザ(`winhelp.exe` または `winhlp32.exe`)で表示するために使用されました。リッチテキスト形式(RTF)をベースにしており、Windows 3.0 から Windows XP にかけて広く普及しました。
しかし、Windows Vista 以降では、新しいヘルプ形式への移行を促進するため、WinHelp は標準では削除されました。セキュリティ上の問題や、新しいコード標準への適合が難しいことが理由とされています。
歴史
1990年: WinHelp 1.0 が Windows 3.0 の一部としてリリースされました。
1995年: WinHelp 4.0 が Windows 95 / Windows NT の一部としてリリースされました。
2006年: マイクロソフトは WinHelp から新しいヘルプシステムへの移行を発表しました。Windows Vista には WinHelp が標準では含まれていません。ただし、16ビット版の WinHelp ファイルは Vista でも表示可能でした。32ビット版の WinHelp ビューアは、Microsoft Download Center からダウンロードして利用することができました。
ファイル形式
WinHelp ファイルの拡張子は `.hlp` です。オプションとして、目次ファイル(`.cnt`)が付属することがあります。Windows が WinHelp ファイルを開くと、`.gid` ファイルが同じディレクトリに作成され、ウィンドウサイズや位置などの情報が格納されます。ユーザーが「検索」タブを使用すると、`.fts`(full text search)ファイル(索引ファイル)が生成されます。
WinHelp ファイルは逆コンパイルが可能であり、ヘルプのソース文書や画像ファイルのコピーを取得できます。`HPJ` ファイルは、Help Workshop などで作成されるプロジェクトファイルで、ヘルプの本体である RTF ファイルに関する情報や、オンラインヘルプの見た目(ウィンドウサイズ、デフォルトのボタン、色合いなど)が含まれます。`CNT` ファイルにはヘルプの目次が格納され、`SHG` ファイルはヘルプ内の画像(BMP ファイル)にリンクを埋め込むために使用されます。
これらのファイルを読み込んで参照するためのツールも存在します(例:Help to RTF、winhelpcgi)。
ソースファイルとコンパイル
`.hlp` ファイルは、通常、複数のソースファイルからコンパイルされて生成されます。ソースファイルには、`.rtf` 形式の文書本体、`.hpj` プロジェクトファイル、各種画像ファイル(`.bmp`、`.wmf`、`.shg`)が含まれます。オプションで `.cnt` ファイル(目次)も生成されます。
`.rtf` ファイル内では、各トピックが改ページで区切られています。各トピックには、ヘルプコンパイラ向けの情報を記述するための脚注が含まれています。
`#`:トピックID(トピック間のリンク生成に使用)
`$`:目次や索引に表示されるトピック名
`K`:索引のためのキーワード
`A`:関連項目キーワード
`
`:ビルドタグ
`+`:ブラウズ順序に関する情報
* `!`:トピックエントリマクロ
テキストのフォーマットは、ボールド体、イタリック体、文字色などに限られています。画像の埋め込みは `{bmc image.bmp}` のようなコードで行われます。サポートされている画像フォーマットは `.bmp`、`.wmf`、`.shg`(イメージマップ用)です。
ソースファイルを作成後、WinHelp コンパイラ(`HCW.exe` など)または RoboHelp などの商用ソフトウェアを使用してコンパイルします。
見た目と機能
WinHelp の起動時には、デフォルトのトピック、目次、キーワードのいずれかが表示されます。WinHelp ファイル内のトピックは別ウィンドウで表示され、ヘルプ作者がウィンドウの大きさと初期位置を設定できます。ユーザーはウィンドウの大きさを変更したり移動したりできます。ヘルプ作者は、そのような変更をヘルプファイルに保持するか、常にデフォルトの大きさと位置で起動するかを設定できます。
トピックを開くと、ウィンドウの上部にトピックのタイトルが表示され、その下にメニュー項目(ファイル、編集、しおり、オプション、ヘルプ)と各種ボタンが並びます。主なボタンとして、「目次」、「キーワード」、「戻る」、「印刷」、およびファイル上の前後を表示するための `<<` および `>>` ボタンがあります。ヘルプ作者は、特定のトピックにジャンプするボタンなど、独自のボタンを作成することもできます。
テキストには通常見出しがあり、ボールド体や大きめのフォントで表示されます。テキストをスクロールしても移動しない領域(スクロールしない領域)を設定することも可能です。ヘルプ作者は、メインのテキスト表示領域の背景色も設定できます。
ジャンプ(リンク)の設定された文字列は緑色で実線のアンダーラインが引かれており、クリックすると対応するトピックが表示されます。ポップアップの設定された文字列は緑色で破線のアンダーラインが引かれており、クリックすると小さなウィンドウが開き、簡単な解説が表示されます。
トピックには最後に関連項目へのジャンプ(リンク)が配置されていることが多いです。目次とキーワードはタブ付きウィンドウとして表示され、ユーザーは必要な情報を探すことができます。キーワードは、ユーザーが必要な情報を探す上で非常に重要なツールです。
WinHelp には、文脈依存ヘルプと呼ばれる機能もあります。これは、ユーザーがアプリケーションを使用している現在の状態に対して適切な補助となるトピックを表示するものです。
セキュリティ上のリスクはありますが、WinHelp のトピックに DLL ファイル内のコードを対応付けることも可能です。
サポート終了
2006年、
マイクロソフトは WinHelp の段階的なサポート停止を発表しました。セキュリティ、信頼性、性能などの観点から、WinHelp は Vista のコード標準に適合しないと判断されたためです。
新たなライセンス契約により、アプリケーション開発者は WinHelp 用ライブラリをパッケージに含めることが禁止されました。そのため、ユーザーが明示的にダウンロードしてインストールしない限り、標準の Vista では WinHelp のオンラインヘルプを参照できなくなりました。