winhelp: rewrite LookupHelpFile function

Kirill K. Smirnov lich at math.spbu.ru
Mon Nov 6 06:07:01 CST 2006


  ChangeLog:
    Rewrite LookupHelpFile function
    Add ability for user to find file himself if winhelp cannot find it
    Update resources
-------------- next part --------------
diff --git a/programs/winhelp/Bg.rc b/programs/winhelp/Bg.rc
index 8d063ae..d04a9d0 100644
--- a/programs/winhelp/Bg.rc
+++ b/programs/winhelp/Bg.rc
@@ -65,4 +65,5 @@ STID_HISTORY, 		"&Èñòîðèÿ"
 STID_TOPICS,		"&Òåìè"
 STID_ALL_FILES, 	"Âñè÷êè ôàéëîâå (*.*)"
 STID_HELP_FILES_HLP, 	"Ïîìîùíè ôàéëîâå (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Cs.rc b/programs/winhelp/Cs.rc
index d9e065e..06c2e17 100644
--- a/programs/winhelp/Cs.rc
+++ b/programs/winhelp/Cs.rc
@@ -70,4 +70,5 @@ STID_HISTORY, 		"&Historie"
 STID_TOPICS,		"&Témata"
 STID_ALL_FILES, 	"Všechny soubory (*.*)"
 STID_HELP_FILES_HLP, 	"Soubory nápovìdy (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Da.rc b/programs/winhelp/Da.rc
index a07d8e1..522cdae 100644
--- a/programs/winhelp/Da.rc
+++ b/programs/winhelp/Da.rc
@@ -68,4 +68,5 @@ STID_HISTORY, 		"&Oversigt"
 STID_TOPICS, 		"To&pics"
 STID_ALL_FILES, 	"Alle filer (*.*)"
 STID_HELP_FILES_HLP, 	"Hjælpe filer (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/De.rc b/programs/winhelp/De.rc
index 7ef298e..8ec84cd 100644
--- a/programs/winhelp/De.rc
+++ b/programs/winhelp/De.rc
@@ -67,4 +67,5 @@ STID_HISTORY, 		"&Bisher"
 STID_TOPICS, 		"&Topics"
 STID_ALL_FILES, 	"Alle Dateien (*.*)"
 STID_HELP_FILES_HLP, 	"Hilfe-Dateien (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/En.rc b/programs/winhelp/En.rc
index f8020be..8c4bac2 100644
--- a/programs/winhelp/En.rc
+++ b/programs/winhelp/En.rc
@@ -66,4 +66,5 @@ STID_HISTORY, 		"&History"
 STID_TOPICS,		"&Topics"
 STID_ALL_FILES, 	"All files (*.*)"
 STID_HELP_FILES_HLP, 	"Help files (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Eo.rc b/programs/winhelp/Eo.rc
index 90b10f3..cc8ef66 100644
--- a/programs/winhelp/Eo.rc
+++ b/programs/winhelp/Eo.rc
@@ -68,4 +68,5 @@ STID_HISTORY, 		"Krono&logio"
 STID_TOPICS,		"&Temoj"
 STID_ALL_FILES, 	"Tutaj dosieroj (*.*)"
 STID_HELP_FILES_HLP, 	"Helpaj dosieroj (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Es.rc b/programs/winhelp/Es.rc
index 42de78d..93d9223 100644
--- a/programs/winhelp/Es.rc
+++ b/programs/winhelp/Es.rc
@@ -67,4 +67,5 @@ STID_HISTORY, 		"&Historial"
 STID_TOPICS,		"&Temas"
 STID_ALL_FILES, 	"Todos los archivos (*.*)"
 STID_HELP_FILES_HLP, 	"Archivos de ayuda (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Fi.rc b/programs/winhelp/Fi.rc
index be6a4e3..90de636 100644
--- a/programs/winhelp/Fi.rc
+++ b/programs/winhelp/Fi.rc
@@ -68,4 +68,5 @@ STID_HISTORY, 		"&Luetut"
 STID_TOPICS,		"T&opics"
 STID_ALL_FILES, 	"Kaikki tiedostot (*.*)"
 STID_HELP_FILES_HLP, 	"Ohjetiedostot (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Fr.rc b/programs/winhelp/Fr.rc
index 172630b..7318507 100644
--- a/programs/winhelp/Fr.rc
+++ b/programs/winhelp/Fr.rc
@@ -68,4 +68,5 @@ STID_HISTORY, 		"&Historique"
 STID_TOPICS,		"&Sujets"
 STID_ALL_FILES, 	"Tous fichiers (*.*)"
 STID_HELP_FILES_HLP, 	"Fichiers d'aide (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Hu.rc b/programs/winhelp/Hu.rc
index 2d72e83..8f4ef53 100644
--- a/programs/winhelp/Hu.rc
+++ b/programs/winhelp/Hu.rc
@@ -68,4 +68,5 @@ STID_HISTORY, 		"&Elõzmény"
 STID_TOPICS,		"&Témakörök"
 STID_ALL_FILES, 	"Minden fájl (*.*)"
 STID_HELP_FILES_HLP, 	"Súgó fájlok (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/It.rc b/programs/winhelp/It.rc
index 3240432..4522d86 100644
--- a/programs/winhelp/It.rc
+++ b/programs/winhelp/It.rc
@@ -67,4 +67,5 @@ STID_HISTORY, 		"&Cronologia"
 STID_TOPICS,		"&Argomenti"
 STID_ALL_FILES, 	"Tutti i file (*.*)"
 STID_HELP_FILES_HLP, 	"File della Guida (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Ko.rc b/programs/winhelp/Ko.rc
index 9e80ce8..2486516 100644
--- a/programs/winhelp/Ko.rc
+++ b/programs/winhelp/Ko.rc
@@ -67,4 +67,5 @@ STID_HISTORY, 		"È÷½ºÅ丮(&H)"
 STID_TOPICS,		"&Topics"
 STID_ALL_FILES, 	"¸ðµç ÆÄÀÏ (*.*)"
 STID_HELP_FILES_HLP, 	"µµ¿ò¸» ÆÄÀÏ (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Nl.rc b/programs/winhelp/Nl.rc
index 6e39e18..44ecd90 100644
--- a/programs/winhelp/Nl.rc
+++ b/programs/winhelp/Nl.rc
@@ -65,4 +65,5 @@ STID_HISTORY, 		"&Geschiedenis"
 STID_TOPICS,		"&Onderwerpen"
 STID_ALL_FILES, 	"Alle bestanden (*.*)"
 STID_HELP_FILES_HLP, 	"Helpbestanden (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/No.rc b/programs/winhelp/No.rc
index d9af806..f016efb 100644
--- a/programs/winhelp/No.rc
+++ b/programs/winhelp/No.rc
@@ -65,4 +65,5 @@ STID_HISTORY, 		"&Historikk"
 STID_TOPICS,		"&Emner"
 STID_ALL_FILES, 	"Alle filer (*.*)"
 STID_HELP_FILES_HLP, 	"Hjelp-filer (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Pl.rc b/programs/winhelp/Pl.rc
index 0e41665..1c90a0c 100644
--- a/programs/winhelp/Pl.rc
+++ b/programs/winhelp/Pl.rc
@@ -67,4 +67,5 @@ STID_HISTORY, 		"&Historia"
 STID_TOPICS,		"&Tematy"
 STID_ALL_FILES, 	"Wszystkie pliki (*.*)"
 STID_HELP_FILES_HLP, 	"Pliki pomocy (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Pt.rc b/programs/winhelp/Pt.rc
index fced1dd..276bd57 100644
--- a/programs/winhelp/Pt.rc
+++ b/programs/winhelp/Pt.rc
@@ -106,6 +106,7 @@ STID_HISTORY, 		"&Histórico"
 STID_TOPICS,		"&Tópicos"
 STID_ALL_FILES, 	"Todos os arquivos (*.*)"
 STID_HELP_FILES_HLP, 	"Arquivos de ajuda (*.hlp)"
+STID_FILE_NOT_FOUND_s"Cannot find '%s'. Do you want to find this file yourself?"
 }
 
 LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
@@ -125,4 +126,5 @@ STID_HISTORY, 		"&Histórico"
 STID_TOPICS,		"&Tópicos"
 STID_ALL_FILES, 	"Todos os ficheiros (*.*)"
 STID_HELP_FILES_HLP, 	"Ficheiros de ajuda (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Ru.rc b/programs/winhelp/Ru.rc
index cdd7c71..c07a743 100644
--- a/programs/winhelp/Ru.rc
+++ b/programs/winhelp/Ru.rc
@@ -65,4 +65,5 @@ STID_HISTORY, 		"&Èñòîðèÿ"
 STID_TOPICS,		"&Óêàçàòåëü"
 STID_ALL_FILES, 	"Âñå ôàéëû (*.*)"
 STID_HELP_FILES_HLP, 	"Ôàéëû ñïðàâêè (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Íå ìîãó íàéòè '%s'. Âû õîòèòå íàéòè ýòîò ôàéë ñàìîñòîÿòåëüíî?"
 }
diff --git a/programs/winhelp/Si.rc b/programs/winhelp/Si.rc
index b5679ed..d587908 100644
--- a/programs/winhelp/Si.rc
+++ b/programs/winhelp/Si.rc
@@ -65,4 +65,5 @@ STID_HISTORY, 		"&Zgodovina"
 STID_TOPICS,		"&Vsebina"
 STID_ALL_FILES, 		"Vse datiteke (*.*)"
 STID_HELP_FILES_HLP, 	"Datoteke s pomoèjo (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Sk.rc b/programs/winhelp/Sk.rc
index 74bc9c3..c8e713f 100644
--- a/programs/winhelp/Sk.rc
+++ b/programs/winhelp/Sk.rc
@@ -62,4 +62,5 @@ STID_HISTORY,               "&História"
 STID_TOPICS,		    "&Topics"
 STID_ALL_FILES,             "Všetky súbory (*.*)"
 STID_HELP_FILES_HLP,        "Súbory pomoci (*.hlp)"
+STID_FILE_NOT_FOUND_s       "Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Sw.rc b/programs/winhelp/Sw.rc
index 07a0ebc..84da4f9 100644
--- a/programs/winhelp/Sw.rc
+++ b/programs/winhelp/Sw.rc
@@ -68,4 +68,5 @@ STID_HISTORY, 		"&Översikt"
 STID_TOPICS,		"T&opics"
 STID_ALL_FILES, 	"Alla filer (*.*))"
 STID_HELP_FILES_HLP, 	"Hjälp filer (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Tr.rc b/programs/winhelp/Tr.rc
index 305b2f9..9578e8b 100644
--- a/programs/winhelp/Tr.rc
+++ b/programs/winhelp/Tr.rc
@@ -65,4 +65,5 @@ STID_HISTORY, 		"Ge&çmiþ"
 STID_TOPICS,		"&Konular"
 STID_ALL_FILES, 	"Tüm dosyalar (*.*)"
 STID_HELP_FILES_HLP, 	"Yardým dosyalarý (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Va.rc b/programs/winhelp/Va.rc
index 2f10ea8..647c9df 100644
--- a/programs/winhelp/Va.rc
+++ b/programs/winhelp/Va.rc
@@ -72,4 +72,5 @@ HISTORY, 		"&Fin qua"
 TOPICS,			"T&opics"
 ALL_FILES, 		"Tuot las datotecas (*.*)"
 HELP_FILES_HLP, 	"Datotecas d'agüd (*.hlp)"
+STID_FILE_NOT_FOUND_s   "Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/Wa.rc b/programs/winhelp/Wa.rc
index 260b521..c536d2a 100644
--- a/programs/winhelp/Wa.rc
+++ b/programs/winhelp/Wa.rc
@@ -70,6 +70,7 @@ STID_HISTORY, 		"&Istwere"
 STID_TOPICS,		"&Topics"
 STID_ALL_FILES, 	"Tos les fitchîs (*.*)"
 STID_HELP_FILES_HLP, 	"Fitchîs d' aide (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
 
 #endif  /* LANG_WALON */
diff --git a/programs/winhelp/Zh.rc b/programs/winhelp/Zh.rc
index a7e559d..8c0689b 100644
--- a/programs/winhelp/Zh.rc
+++ b/programs/winhelp/Zh.rc
@@ -66,4 +66,5 @@ STID_HISTORY, 		"ÀúÊ·£¨&H£©"
 STID_TOPICS,		"Ö÷Ì⣨&T£©"
 STID_ALL_FILES, 	"ËùÓÐÎļþ (*.*)"
 STID_HELP_FILES_HLP, 	"°ïÖúÎļþ (*.hlp)"
+STID_FILE_NOT_FOUND_s	"Cannot find '%s'. Do you want to find this file yourself?"
 }
diff --git a/programs/winhelp/macro.c b/programs/winhelp/macro.c
index ca67dcf..803b5bb 100644
--- a/programs/winhelp/macro.c
+++ b/programs/winhelp/macro.c
@@ -505,52 +505,11 @@ BOOL CALLBACK MACRO_FileExist(LPCSTR str
 
 void CALLBACK MACRO_FileOpen(void)
 {
-    OPENFILENAME openfilename;
-    CHAR szPath[MAX_PATHNAME_LEN];
-    CHAR szDir[MAX_PATHNAME_LEN];
-    CHAR szzFilter[2 * MAX_STRING_LEN + 100];
-    LPSTR p = szzFilter;
+    char szFile[MAX_PATH];
 
-    WINE_TRACE("()\n");
-
-    LoadString(Globals.hInstance, STID_HELP_FILES_HLP, p, MAX_STRING_LEN);
-    p += strlen(p) + 1;
-    lstrcpy(p, "*.hlp");
-    p += strlen(p) + 1;
-    LoadString(Globals.hInstance, STID_ALL_FILES, p, MAX_STRING_LEN);
-    p += strlen(p) + 1;
-    lstrcpy(p, "*.*");
-    p += strlen(p) + 1;
-    *p = '\0';
-
-    GetCurrentDirectory(sizeof(szDir), szDir);
-
-    szPath[0]='\0';
-
-    openfilename.lStructSize       = sizeof(OPENFILENAME);
-    openfilename.hwndOwner         = Globals.active_win->hMainWnd;
-    openfilename.hInstance         = Globals.hInstance;
-    openfilename.lpstrFilter       = szzFilter;
-    openfilename.lpstrCustomFilter = 0;
-    openfilename.nMaxCustFilter    = 0;
-    openfilename.nFilterIndex      = 1;
-    openfilename.lpstrFile         = szPath;
-    openfilename.nMaxFile          = sizeof(szPath);
-    openfilename.lpstrFileTitle    = 0;
-    openfilename.nMaxFileTitle     = 0;
-    openfilename.lpstrInitialDir   = szDir;
-    openfilename.lpstrTitle        = 0;
-    openfilename.Flags             = 0;
-    openfilename.nFileOffset       = 0;
-    openfilename.nFileExtension    = 0;
-    openfilename.lpstrDefExt       = 0;
-    openfilename.lCustData         = 0;
-    openfilename.lpfnHook          = 0;
-    openfilename.lpTemplateName    = 0;
-
-    if (GetOpenFileName(&openfilename))
+    if (WINHELP_GetOpenFileName(szFile, MAX_PATH))
     {
-        HLPFILE*        hlpfile = WINHELP_LookupHelpFile(szPath);
+        HLPFILE*        hlpfile = WINHELP_LookupHelpFile(szFile);
 
         WINHELP_CreateHelpWindowByHash(hlpfile, 0,
                                        WINHELP_GetWindowInfo(hlpfile, "main"), SW_SHOWNORMAL);
diff --git a/programs/winhelp/winhelp.c b/programs/winhelp/winhelp.c
index 1bf476f..389ba5a 100644
--- a/programs/winhelp/winhelp.c
+++ b/programs/winhelp/winhelp.c
@@ -31,6 +31,7 @@ #include "windef.h"
 #include "winbase.h"
 #include "wingdi.h"
 #include "winuser.h"
+#include "commdlg.h"
 #include "winhelp.h"
 #include "winhelp_res.h"
 #include "shellapi.h"
@@ -56,6 +57,58 @@ static WINHELP_LINE_PART* WINHELP_IsOver
 
 WINHELP_GLOBALS Globals = {3, NULL, NULL, 0, TRUE, NULL, NULL, NULL, NULL};
 
+
+/***********************************************************************
+ *
+ *           WINHELP_GetOpenFileName
+ */
+BOOL WINHELP_GetOpenFileName(LPSTR lpszFile, int len)
+{
+    OPENFILENAME openfilename;
+    CHAR szDir[MAX_PATH];
+    CHAR szzFilter[2 * MAX_STRING_LEN + 100];
+    LPSTR p = szzFilter;
+
+    WINE_TRACE("()\n");
+
+    LoadString(Globals.hInstance, STID_HELP_FILES_HLP, p, MAX_STRING_LEN);
+    p += strlen(p) + 1;
+    lstrcpy(p, "*.hlp");
+    p += strlen(p) + 1;
+    LoadString(Globals.hInstance, STID_ALL_FILES, p, MAX_STRING_LEN);
+    p += strlen(p) + 1;
+    lstrcpy(p, "*.*");
+    p += strlen(p) + 1;
+    *p = '\0';
+
+    GetCurrentDirectory(sizeof(szDir), szDir);
+
+    lpszFile[0]='\0';
+
+    openfilename.lStructSize       = sizeof(OPENFILENAME);
+    openfilename.hwndOwner         = NULL;
+    openfilename.hInstance         = Globals.hInstance;
+    openfilename.lpstrFilter       = szzFilter;
+    openfilename.lpstrCustomFilter = 0;
+    openfilename.nMaxCustFilter    = 0;
+    openfilename.nFilterIndex      = 1;
+    openfilename.lpstrFile         = lpszFile;
+    openfilename.nMaxFile          = len;
+    openfilename.lpstrFileTitle    = 0;
+    openfilename.nMaxFileTitle     = 0;
+    openfilename.lpstrInitialDir   = szDir;
+    openfilename.lpstrTitle        = 0;
+    openfilename.Flags             = 0;
+    openfilename.nFileOffset       = 0;
+    openfilename.nFileExtension    = 0;
+    openfilename.lpstrDefExt       = 0;
+    openfilename.lCustData         = 0;
+    openfilename.lpfnHook          = 0;
+    openfilename.lpTemplateName    = 0;
+
+    return GetOpenFileName(&openfilename);
+}
+
 /***********************************************************************
  *
  *           WINHELP_LookupHelpFile
@@ -63,25 +116,20 @@ WINHELP_GLOBALS Globals = {3, NULL, NULL
 HLPFILE* WINHELP_LookupHelpFile(LPCSTR lpszFile)
 {
     HLPFILE*        hlpfile;
+    char szFullName[MAX_PATH];
 
-    hlpfile = HLPFILE_ReadHlpFile(lpszFile);
-
-    /* Add Suffix `.hlp' */
-    if (!hlpfile && lstrcmpi(lpszFile + strlen(lpszFile) - 4, ".hlp") != 0)
+    if (!SearchPath(NULL, lpszFile, ".hlp", MAX_PATH, szFullName, NULL))
     {
-        char      szFile_hlp[MAX_PATHNAME_LEN];
-
-        lstrcpyn(szFile_hlp, lpszFile, sizeof(szFile_hlp) - 4);
-        szFile_hlp[sizeof(szFile_hlp) - 5] = '\0';
-        lstrcat(szFile_hlp, ".hlp");
-
-        hlpfile = HLPFILE_ReadHlpFile(szFile_hlp);
+        if (WINHELP_MessageBoxIDS_s(STID_FILE_NOT_FOUND_s, lpszFile, STID_WHERROR,
+                                    MB_YESNO|MB_ICONQUESTION) != IDYES)
+            return NULL;
+        if (!WINHELP_GetOpenFileName(szFullName, MAX_PATH))
+            return NULL;
     }
+    hlpfile = HLPFILE_ReadHlpFile(szFullName);
     if (!hlpfile)
-    {
-        WINHELP_MessageBoxIDS_s(STID_HLPFILE_ERROR_s, lpszFile, STID_WHERROR, MB_OK);
-        if (Globals.win_list) return NULL;
-    }
+        WINHELP_MessageBoxIDS_s(STID_HLPFILE_ERROR_s, lpszFile,
+                                STID_WHERROR, MB_OK|MB_ICONSTOP);
     return hlpfile;
 }
 
@@ -1815,7 +1863,7 @@ INT WINHELP_MessageBoxIDS_s(UINT ids_tex
 {
     CHAR text[MAX_STRING_LEN];
     CHAR title[MAX_STRING_LEN];
-    CHAR newtext[MAX_STRING_LEN + MAX_PATHNAME_LEN];
+    CHAR newtext[MAX_STRING_LEN + MAX_PATH];
 
     LoadString(Globals.hInstance, ids_text, text, sizeof(text));
     LoadString(Globals.hInstance, ids_title, title, sizeof(title));
diff --git a/programs/winhelp/winhelp.h b/programs/winhelp/winhelp.h
index ce14352..24eb10f 100644
--- a/programs/winhelp/winhelp.h
+++ b/programs/winhelp/winhelp.h
@@ -21,7 +21,6 @@
  */
 
 #define MAX_LANGUAGE_NUMBER     255
-#define MAX_PATHNAME_LEN        1024
 #define MAX_STRING_LEN          255
 
 #define INTERNAL_BORDER_WIDTH   5
@@ -174,6 +173,7 @@ extern FARPROC         Callbacks[];
 BOOL WINHELP_CreateHelpWindowByHash(HLPFILE*, LONG, HLPFILE_WINDOWINFO*, int);
 BOOL WINHELP_CreateHelpWindowByMap(HLPFILE*, LONG, HLPFILE_WINDOWINFO*, int);
 BOOL WINHELP_CreateHelpWindow(HLPFILE_PAGE*, HLPFILE_WINDOWINFO*, int);
+BOOL WINHELP_GetOpenFileName(LPSTR, int);
 INT  WINHELP_MessageBoxIDS(UINT, UINT, WORD);
 INT  WINHELP_MessageBoxIDS_s(UINT, LPCSTR, UINT, WORD);
 HLPFILE* WINHELP_LookupHelpFile(LPCSTR lpszFile);
diff --git a/programs/winhelp/winhelp_res.h b/programs/winhelp/winhelp_res.h
index bce4c92..a6e46f1 100644
--- a/programs/winhelp/winhelp_res.h
+++ b/programs/winhelp/winhelp_res.h
@@ -29,3 +29,4 @@ #define STID_TOPICS 		0x12A
 #define STID_ALL_FILES 		0x12B
 #define STID_HELP_FILES_HLP	0x12C
 #define STID_DIALOG_TEST	0x12D
+#define STID_FILE_NOT_FOUND_s	0x12E


More information about the wine-patches mailing list