WinHelp API(WinHelp 函數)是早期 Windows 應用程式常用的線上說明系統呼叫介面。雖然現代開發多改用 HTML Help(HtmlHelp)或網頁式說明,但維護舊專案時仍需查閱 WinHelp 的命令代碼與參數用法。本文整理完整的命令常數、功能說明與對應資料型態,供快速參考。
BOOL WinHelp(
HWND hWndMain, // 父視窗控制代碼
LPCTSTR lpszHelp,// 說明檔路徑
UINT uCommand, // 命令常數
DWORD dwData // 命令相關資料
);
| 命令常數 | 功能說明 | dwData 參數型態與內容 |
|---|---|---|
HELP_COMMAND | 執行巨集或巨集字串 | 字串指標,多個巨集以逗號或分號分隔 |
HELP_CONTENTS | 顯示 .HPJ 檔 [OPTIONS] 區段指定的目錄主題(舊版相容) | 忽略,設 0 |
HELP_CONTEXT | 顯示 .HPJ [MAP] 區段指定內容識別碼對應的主題 | 無號長整數(內容識別碼) |
HELP_CONTEXTMENU | 顯示視窗說明選單,再彈出元件主題選單 | 雙字陣列指標:[識別碼, 內容編號] |
HELP_CONTEXTPOPUP | 顯示對應內容識別碼的彈出式主題視窗 | 無號長整數(內容識別碼) |
HELP_FINDER | 顯示「說明主題」對話方塊(新版建議用法) | 忽略,設 0 |
HELP_FORCEFILE | 確保顯示正確的說明檔;若錯誤則開啟正確檔案 | 忽略,設 0 |
HELP_HELPONHELP | 顯示「如何使用 WinHelp」說明(需 WINHLP32.HLP) | 忽略,設 0 |
HELP_INDEX | 同 HELP_CONTENTS,舊版相容 | 忽略,設 0 |
HELP_KEY | 顯示關鍵字完全符合的主題;多筆則列出清單 | 關鍵字字串指標,多關鍵字依腳註格式分隔 |
HELP_MULTIKEY | 顯示附加關鍵字表中指定關鍵字的主題 | MULTIKEYHELP 結構指標 |
HELP_PARTIALKEY | 顯示關鍵字部分符合的主題;空字串則顯示完整索引 | 關鍵字字串指標,多關鍵字以分號分隔 |
HELP_QUIT | 通知 WinHelp 結束;若無其他應用程式使用則關閉 | 忽略,設 0 |
HELP_SETCONTENTS | 指定「內容」按鈕顯示的主題(無 .CNT 檔時生效) | 無號長整數(內容識別碼) |
HELP_SETPOPUP_POS | 設定後續彈出視窗位置 | POINTS 結構指標 |
HELP_SETWINPOS | 顯示/調整說明視窗大小與位置 | HELPWINFO 結構指標 |
HELP_TCARD | 標示為訓練卡片實例,需與其他命令 OR 組合 | 視組合命令而定 |
HELP_WM_HELP | 在彈出視窗顯示指定控制項的說明主題 | 雙字陣列指標:[控制項 ID, 內容編號] |
HELP_CONTENTS、HELP_INDEX 等命令僅為相容舊版 .hpj/.cnt 架構,新專案建議採用 HELP_FINDER 搭配 .chm 檔案。WinHelpA/WinHelpW)。MULTIKEYHELP、HELPWINFO 等結構需依 SDK 定義正確填寫,避免記憶體存取錯誤。WinHelp 雖已非主流,但在舊系統維護、嵌入式裝置或特定企業環境中仍常見。掌握上述命令對照表,可加速除錯與功能移植作業。