Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2008年10月08日] [更新 2021年07月28日] Delphi 一般・その他
Windows Vista 以降で HLP 形式ヘルプを使用
動作確認等 Windows Vista 以降
[整理番号 - 0340]







Windows Vista 以降で HLP 形式ヘルプを使用


Windows Vista 以降では、Delphi 7 までの、拡張子が .HLP のヘルプは表示できません。
.HLP 形式のヘルプファイルを表示するには、Windowws のバージョンに応じたファイルをマイクロソフトのサイトからダウンロードしてインストールします。
Windows 10 および Windows Server 2012 以降のバージョンの Windows Server では、HLP 形式のヘルプファイル表示用のプログラムはサポートされていません。

もし自分自身がヘルプファイルの提供者である場合、HTML ヘルプ (CHM 形式のヘルプ) に作成し直すことも考える必要があるかも知れません。
ウェブページ用に作成した HTML ファイルを CHM ファイルに変換するソフトがあります。下記のリンクの「ヘルプましん」もその一つで、筆者が一時期、当サイトの記事を CHM ファイルとして提供していた時に利用していたソフトです。「ヘルプましん」は Delphi で開発されています。



[備考]
古い形式の、拡張子が .HLP の WinHelp 形式のヘルプを HTML ヘルプに変換するツールを提供しています。以下のページは、その使用方法を説明した記事です。
ただし、Delphi 6 / 7 等のヘルプは HTML ヘルプに変換できません。




01_旧タイプ ( HLP ) のヘルプを利用可能にする - Windows 8 以前


Windows 8 以前の場合は以下のプログラムをダウンロードして実行します。
すぐにはダウンロードできませんでした。筆者の環境では、ダウンロードの前に [Genuine Windows Validation (正規 Windows 検証)] の実行メニューが表示されました。

Windows 8.1 用は、次項の記事を参考にしてください。



図1
更新プログラムのダウンロード
  • 今回は 64bit 版の Windows なので赤枠のものをダウンロード
  • 32bit 版の Windows の場合は x86 をダウンロードする
図2
ヘルプを表示




02_旧タイプ ( HLP ) のヘルプを利用可能にする - Windows 8.1


Windows 8.1 の場合は、以下の [XXX 用更新プログラム (KB917607)] をダウンロードしてインストールします。最初のリンクが 32 ビット版の Windows 8.1 用、次のリンクが 64 ビット版の Windows 8.1 用となっています。
マイクロソフトでは、同じ名前のファイルを別に提供していますが、2015年08月12日現在、下記のリンクのファイルが最新のものです。古いファイルはリンク先が違います。古いファイルの場合、更新プログラム KB3000850 がインストールされていると動作しない場合があります。





03_旧タイプ ( HLP ) のヘルプを利用可能にする - Windows 10
plWin10-Hlp32-Fix.zip [886 KB] 2021年07月31日版 (EXE, ソースコード添付。説明なし)
HLP 形式のヘルプを使用可能にするためのコマンドファイル (32 / 64 ビット兼用)


Windows XP 環境を持っている方が対象の方法です。
Windows XP の WinHlp32.exe を Windows 10 で使用可能にするコマンドのコードを教えて頂きました。そのコードを元にして作成したプログラムです。当初は Winlp32.exe だけのバッチファイルでした。その後、処理するファイルを追加しています。

ZIP 書庫をダウンロードしたらブロックを解除して、任意のフォルダに解凍展開します。Win10-Hlp32-Fix.exe となっています。
次に、Windwos XP から以下のファイルをコピーして、同じフォルダ内に置きます。


ファイル名 Windows XP における場所 備考
winhlp32.exe C:\Windows 今回の処理で元のファイルに上書き
ftlx0411.dll C:\Windows\System32 Windows 10 にはない
ftsrch.dll C:\Windows\System32 Windows 10 にはない
winhlp32.cnt C:\Windows\Help Windows 10 にはない
winhlp32.hlp C:\Windows\Help Windows 10 にはない


用意できたら、Win10-Hlp32-Fix.exe を起動して [セットアップ] ボタンをクリックします。セットアップはこれで終了です。

この [セットアップ] は、ファイルをシステム関係のフォルダにコピーして所有権などを設定します。WinHlp32.exe は、Windows 10 の元のファイルに上書きとなります。



図3
EXE を実行
  • 管理者権限での実行になっている
  • Windows XP からコピーしたファイルがあることを確認

Windows 10 にも C:\Windows 内に WinHlp32.exe がありますが、利用できない状態になっています。
Windows 10 には年 2 回の大型アップデートがあります。その時、システム関係のファイルは上書きされて置き換わります。WinHlp32.exe も置き換わることがあります、そうすると、HLP 形式のヘルプか表示できなくなります。その場合は、再度 [セットアップ] を実行します。

HLP 形式のヘルプにおけるマクロやイントラネットにおける利用については、以下のマイクロソフトの記事で確認してください。レジストリの操作が必要です。



下図は、Windows 10 で Delphi 7 のヘルプを表示した画面です。



図4
Windows 10 でDelphi 7 のヘルプを表示
図5
テキスト検索

上の画面の状態で [F1] を押下した結果です。ヘルプのヘルプを表示します。テキスト検索では、大文字と小文字に検索の違いがあることに注意します。


図6
[F1] でヘルプのヘルプを表示

ダウンロードした ZIP 書庫には、Delphi プログラマの参考用にソースコードを添付しています。コードで使用しているコマンド類については以下の記事を参考にしてください。
システム関係フォルダ内のファイル類は、多くの場合、所有者を Administrarors に変更すれば操作が可能になります。以下のリンクの [ファイルの所有者を... ] の記事を参考にしてください。単にファイルのコピーや貼り付け操作をしたり、所有権を正しく設定しないと、次回の Windows 起動時あるいは Windows の UPdate 時に自動修復機能が働き、ファイルが削除されることがあります。



[備考 1]
Windows XP のインストールディスクがあれば、VMware Workstation Player 等のバーチャルマシン (仮想マシン、仮想 PC) に Windows XP をインストールして必要なファイルを入手できます。64 ビットの Windows 10 Pro 版以上には、Hyper-V という仮想マシンの機能が実装されています。
Windows XP の SP2, SP3 は、以下のマイクロソフトのサイトがら入手できます。これらは、SP2, SP3 の順にインストールする必要があります。

Windows XP は、2014年4月9日のサポート終了後も更新プログラムが提供されています。2021年07月24日現在、最も新しいのは、以下のリストにある 2019年05月10日の KB4500331 ではないかと思われます。


[備考 2]
このプログラムは、フォルダ内のァイルをシステム関係フォルダにコピーしているだけです。システム関係フォルダ内のファイルの操作には所有権の設定、変更が必要なので、その処理を行っています。この方法は、現在のところ、HLP 形式のヘルプを使用する Windows のバージョンには依存しません。





04_Windows XP SP3 のファイルから WinHlp32.exe を取り出す
plWinHlp32_FromXPSP3.zip [927 KB] 2018年07月28日版 (EXE のみ。説明なし)
Windows XP の更新プログラムのファイルから WinHlp32.exe を取り出すプログラム


Windows XP の更新プログラムから WinHlp32.exe を取り出すことができます。
上のリンクから ZIP 書庫をダウンロードします。ダウンロードしたら、ブロックを解除して、解凍展開します。2 つのファイルを任意のフォルダに置きます。

Windows XP の更新プログラム SP3 (KB936929) は、以下の [Microsoft Update カタログ] のページからダウンロードできます。画面の右端に [ダウンロード] ボタンがあります。言語の選択リストのダイアログで日本語のファイルを選択します。



図7

plWinHlp32_FromXPSP3.exe を起動して [ダウンロード] ボタンで Windows XP SP3 をダウンロードします。[解凍] ボタンをクリックすると、WinHlp32.exe が取得できます。解凍には少し時間がかかります。
この WinHlp32.exe を Windows 10 の Windows フォルダに上書きコピーすれば、HLP 形式のヘルプを表示することができます。ただし、 WinHlp32.exe だけでは、テキスト検索の機能は利用できません。

このプログラムの [解凍] ボタンは、入力欄のファイル名を CAB 書庫とみなして解凍します。今回ダウンロードした更新プログラムの拡張子は exe になっていますが、内容は CAB 書庫です。解凍したファイルの中に winhlp32.ex_ ができます。これも CAB 書庫です。これに WinHlp32.exe があります。
ダウンロードしたファイルを解凍しないで、必要なファイルだけを取得することもできますが、このプログラムでは、参考として解凍してから取得するようにしています。
Windows10 のエクスブローラには CAB 書庫の解凍機能がありますが、今回の更新ププログラムのファイルは正常に解凍できません。コマンドプロンプトの Expand コマンドでも正常に解凍できません。

[セットアップ] は、C:\Windows に WinHlp32.exe を、WinHlp32-Fix.exe という名前でコピーして所有権を設定します。更に拡張子の関連付けも行います。こうすると、Windows の大型アップデートでシステム関係のファイルが置き換えられても、HLP ファイルは表示できます。WinHlp32.exe の単独使用であればこのようなことが可能です。

拡張子の関連付けは、HLP ファイルのマウス右ボタンのメニューから [プログラムから開く] で WinHlp32-Fix.exe を選択することでも可能です。[別のプログラム・・・]や [・・・別のアプリを探す] を選択していきます。この時、[常にこのアプリを使って HLP ファイルを開く] をチェックします。
プログラムの選択を中止する時は [ESC] キーを押します。



図8
更新プログラムから WinHlp32.exe を取得
  • 管理者権限での起動になっている
  • [ダウンロード] ボタンをクリック
  • [解凍] ボタンをクリック
  • WinHlp32.exe が保存されている
  • [Files] には解凍したファイルがある

  • [削除] は WinHlp32-Fix.exe を削除して、拡張子の関連付けを元に戻す

本プログラムで [セットアップ] ボタンで処理をした場合、ヘルプを表示して [F1] キーを押すと (あるいは ? アイコンの操作で)以下のタイトルのウェブページを Microsoft Edge が表示します。
このウェブページは、元の Windows 10 で HLP 形式のファイルを開こうとする時も表示されます。


Windows ベースのプログラムでヘルプを開こうとすると、「機能は含まれていません」または「ヘルプはサポートされていません」というエラーが表示される



図9

Windws XP の WinHlp32.exe を別の場所に置くか、本プログラムの [セットアップ] 処理のように名前を変更します。そして拡張子の関連付けを設定すれば、Windows 10 の大型アップデートで置き換えられる現象を回避できます。ただし、その場合は上で述べた現象が発生します。
Windows 10 の元の WinHlp32.exe を Windows XP の同名のファイルに置き換えている場合は、[F1] キーの押下で下図のダイアログが現れます。


WinHlp32.hlp ヘルプ ファイルが見つかりません。ディスクにこのファイルが存在するかどうか確認してください。存在しない場合は、このファイルを再インストールしてください。


図10
WinHlp32.hlp 関係のダイアログ
  • Windows 10 の WinHlp32.exe に Windows XP の同名ファイルを上書きしている場合




05_WinHlp32.exe のインストール用プログラム
plWinHlp32Install.zip [1.0 MB] 2021年07月28日版 (EXE のみ。説明なし)
Windows Vista / 7 / 8 / 8.1 / 10 用


上の plWinHlp32Install.zip ファイルは、WinHlp32.exe のインストール用プログラムです。
ダウンロードしたらブロックを解除して解凍展開します。plWinHlp32Install.exe を実行して [インストール] ボタンをクリックします。上書き専用のインストーラです。
インストールすると、拡張子が .HLP のヘルプファイルを表示できるようになります。説明の文書は添付していません。アンインストールの機能は実装していません。

Windows 10 の大型アップデートでは、WinHlp32.exe が書き換えられることがあります。その場合は再度インストール操作が必要です。



図11
[インストール] ボタンをクリックするとインストール開始