7.Windows ヘルプ形式のヘルプファイルの目次トピックを表示する方法 |
1.Windows ヘルプ形式のヘルプファイルの目次トピックを表示する方法 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定: 参照設定方法参照 使用 API:WinHelp その他 :このサンプルは、Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 :
|
1.Windows ヘルプ形式のヘルプファイルの目次トピックを表示する方法 |
Option Explicit 'SampleNo=102 2002.05.19 'WINHELP.EXEを実行する(P244) Private Declare Function WinHelp Lib "user32" Alias "WinHelpA" _ (ByVal hwnd As Long, ByVal lpHelpFile As String, _ ByVal wCommand As Long, ByVal dwData As Long) As Long 'ヘルプファイルを閉じる定数 Private Const HELP_QUIT = &H2& 'ヘルプの索引画面を表示する定数 Private Const HELP_FINDER = &HB& 'キーワードに一致したヘルプを表示する定数 Private Const HELP_KEY = &H101 'HELP_FINDER コマンドを定数として宣言 Private Const cdlHeloFinder = &HB Private Sub Command1_Click() 'コモンダイアログコントロールを使って目次トピックを表示 CommonDialog1.HelpFile = App.Path & "\Postal.hlp" CommonDialog1.HelpCommand = cdlHeloFinder CommonDialog1.ShowHelp End Sub Private Sub Command2_Click() 'フォーカスがある時に[F1]でもOK App.HelpFile = App.Path & "\Postal.hlp" Command2.HelpContextID = 3 '0 だと目次が表示 SendKeys "{F1}" End Sub Private Sub Command3_Click() 'APIを使って目次トピックを表示する Dim ret As Long ret = WinHelp(Me.hwnd, App.HelpFile, HELP_FINDER, ByVal 0&) End Sub Private Sub Form_Load() App.HelpFile = App.Path & "\Postal.hlp" End Sub Private Sub Form_Unload(Cancel As Integer) '終了時ヘルプファイルも閉じる Dim ret As Long ret = WinHelp(Me.hwnd, App.HelpFile, HELP_QUIT, ByVal 0&) End Sub 注意 当然の事ながら、上記コードだけでは、Windows Vista 以降の OS では、次のようなエラーメッセージが表示されます。[このプログラムのヘルプは、以前のバージョンの Windows で使用されていた Windows ヘルプ形式で作成されているため、Windows Vista ではサポートされていません。] 従って、Windows ヘルプ形式で作成されたファイルを開くには、[WinHlp32.exe]をダウンロードしてインストールしておく必要があります。 詳しくは、下記をご覧ください。 Windows ヘルプ形式 (WinHlp32.exe) で作成されたヘルプを開くことができない 上記の中程のページに書かれている[解決方法]に従って、WinHlp.exe をダウンロードしてインストールしておいて下さい。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |