static char *help_path;
static int help_has_contents;
#ifndef NO_HTMLHELP
-typedef HWND (CALLBACK *htmlhelp_t)(HWND, LPCSTR, UINT, DWORD);
+DECL_WINDOWS_FUNCTION(static, HWND, HtmlHelpA, (HWND, LPCSTR, UINT, DWORD));
static char *chm_path;
-static DWORD html_help_cookie;
-static htmlhelp_t htmlhelp;
#endif /* NO_HTMLHELP */
void init_help(void)
} else
chm_path = NULL;
if (chm_path) {
- HINSTANCE dllHH = LoadLibrary("hhctrl.ocx");
- if (dllHH) {
- htmlhelp = (htmlhelp_t)GetProcAddress(dllHH, "HtmlHelpA");
- if (!htmlhelp)
+ HINSTANCE dllHH = load_system32_dll("hhctrl.ocx");
+ GET_WINDOWS_FUNCTION(dllHH, HtmlHelpA);
+ if (!p_HtmlHelpA) {
+ chm_path = NULL;
+ if (dllHH)
FreeLibrary(dllHH);
}
- if (htmlhelp)
- htmlhelp(NULL, NULL, HH_INITIALIZE, (DWORD)&html_help_cookie);
- else
- chm_path = NULL;
}
#endif /* NO_HTMLHELP */
}
void shutdown_help(void)
{
-#ifndef NO_HTMLHELP
- if (chm_path)
- htmlhelp(NULL, NULL, HH_UNINITIALIZE, html_help_cookie);
-#endif /* NO_HTMLHELP */
+ /* Nothing to do currently.
+ * (If we were running HTML Help single-threaded, this is where we'd
+ * call HH_UNINITIALIZE.) */
}
int has_help(void)
* unrealistic, since even Vista will have it if the user
* specifically downloads it.
*/
- return (help_path
+ return (help_path != NULL
#ifndef NO_HTMLHELP
|| chm_path
#endif /* NO_HTMLHELP */
assert(topic[colonpos] != '\0');
fname = dupprintf("%s::/%s.html>main", chm_path,
topic + colonpos + 1);
- htmlhelp(hwnd, fname, HH_DISPLAY_TOPIC, 0);
+ p_HtmlHelpA(hwnd, fname, HH_DISPLAY_TOPIC, 0);
sfree(fname);
} else
#endif /* NO_HTMLHELP */
if (help_path) {
char *cmd = dupprintf("JI(`',`%.*s')", colonpos, topic);
- WinHelp(hwnd, help_path, HELP_COMMAND, (DWORD)cmd);
+ WinHelp(hwnd, help_path, HELP_COMMAND, (ULONG_PTR)cmd);
sfree(cmd);
}
} else {
#ifndef NO_HTMLHELP
if (chm_path) {
- htmlhelp(hwnd, chm_path, HH_DISPLAY_TOPIC, 0);
+ p_HtmlHelpA(hwnd, chm_path, HH_DISPLAY_TOPIC, 0);
} else
#endif /* NO_HTMLHELP */
if (help_path) {
if (requested_help) {
#ifndef NO_HTMLHELP
if (chm_path) {
- htmlhelp(NULL, NULL, HH_CLOSE_ALL, 0);
+ p_HtmlHelpA(NULL, NULL, HH_CLOSE_ALL, 0);
} else
#endif /* NO_HTMLHELP */
if (help_path) {