1*f6dc9357SAndroid Build Coastguard Worker // HelpUtils.cpp 2*f6dc9357SAndroid Build Coastguard Worker 3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h" 4*f6dc9357SAndroid Build Coastguard Worker 5*f6dc9357SAndroid Build Coastguard Worker #include "HelpUtils.h" 6*f6dc9357SAndroid Build Coastguard Worker 7*f6dc9357SAndroid Build Coastguard Worker #if defined(UNDER_CE) || defined(__MINGW32_VERSION) 8*f6dc9357SAndroid Build Coastguard Worker ShowHelpWindow(LPCSTR)9*f6dc9357SAndroid Build Coastguard Workervoid ShowHelpWindow(LPCSTR) 10*f6dc9357SAndroid Build Coastguard Worker { 11*f6dc9357SAndroid Build Coastguard Worker } 12*f6dc9357SAndroid Build Coastguard Worker 13*f6dc9357SAndroid Build Coastguard Worker #else 14*f6dc9357SAndroid Build Coastguard Worker 15*f6dc9357SAndroid Build Coastguard Worker /* USE_EXTERNAL_HELP creates new help process window for each HtmlHelp() call. 16*f6dc9357SAndroid Build Coastguard Worker HtmlHelp() call uses one window. */ 17*f6dc9357SAndroid Build Coastguard Worker 18*f6dc9357SAndroid Build Coastguard Worker #if defined(__MINGW32_VERSION) /* || defined(Z7_OLD_WIN_SDK) */ 19*f6dc9357SAndroid Build Coastguard Worker #define USE_EXTERNAL_HELP 20*f6dc9357SAndroid Build Coastguard Worker #endif 21*f6dc9357SAndroid Build Coastguard Worker 22*f6dc9357SAndroid Build Coastguard Worker // #define USE_EXTERNAL_HELP 23*f6dc9357SAndroid Build Coastguard Worker 24*f6dc9357SAndroid Build Coastguard Worker #ifdef USE_EXTERNAL_HELP 25*f6dc9357SAndroid Build Coastguard Worker 26*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/ProcessUtils.h" 27*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/FileDir.h" 28*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/FileName.h" 29*f6dc9357SAndroid Build Coastguard Worker 30*f6dc9357SAndroid Build Coastguard Worker #else 31*f6dc9357SAndroid Build Coastguard Worker #include <HtmlHelp.h> 32*f6dc9357SAndroid Build Coastguard Worker #endif 33*f6dc9357SAndroid Build Coastguard Worker 34*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/StringConvert.h" 35*f6dc9357SAndroid Build Coastguard Worker 36*f6dc9357SAndroid Build Coastguard Worker #include "../../../Windows/DLL.h" 37*f6dc9357SAndroid Build Coastguard Worker 38*f6dc9357SAndroid Build Coastguard Worker #define kHelpFileName "7-zip.chm::/" 39*f6dc9357SAndroid Build Coastguard Worker ShowHelpWindow(LPCSTR topicFile)40*f6dc9357SAndroid Build Coastguard Workervoid ShowHelpWindow(LPCSTR topicFile) 41*f6dc9357SAndroid Build Coastguard Worker { 42*f6dc9357SAndroid Build Coastguard Worker FString path = NWindows::NDLL::GetModuleDirPrefix(); 43*f6dc9357SAndroid Build Coastguard Worker path += kHelpFileName; 44*f6dc9357SAndroid Build Coastguard Worker path += topicFile; 45*f6dc9357SAndroid Build Coastguard Worker #ifdef USE_EXTERNAL_HELP 46*f6dc9357SAndroid Build Coastguard Worker FString prog; 47*f6dc9357SAndroid Build Coastguard Worker 48*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE 49*f6dc9357SAndroid Build Coastguard Worker prog = "\\Windows\\"; 50*f6dc9357SAndroid Build Coastguard Worker #else 51*f6dc9357SAndroid Build Coastguard Worker if (!NWindows::NFile::NDir::GetWindowsDir(prog)) 52*f6dc9357SAndroid Build Coastguard Worker return; 53*f6dc9357SAndroid Build Coastguard Worker NWindows::NFile::NName::NormalizeDirPathPrefix(prog); 54*f6dc9357SAndroid Build Coastguard Worker #endif 55*f6dc9357SAndroid Build Coastguard Worker prog += "hh.exe"; 56*f6dc9357SAndroid Build Coastguard Worker 57*f6dc9357SAndroid Build Coastguard Worker UString params; 58*f6dc9357SAndroid Build Coastguard Worker params += '"'; 59*f6dc9357SAndroid Build Coastguard Worker params += fs2us(path); 60*f6dc9357SAndroid Build Coastguard Worker params += '"'; 61*f6dc9357SAndroid Build Coastguard Worker 62*f6dc9357SAndroid Build Coastguard Worker NWindows::CProcess process; 63*f6dc9357SAndroid Build Coastguard Worker const WRes wres = process.Create(fs2us(prog), params, NULL); // curDir); 64*f6dc9357SAndroid Build Coastguard Worker if (wres != 0) 65*f6dc9357SAndroid Build Coastguard Worker { 66*f6dc9357SAndroid Build Coastguard Worker /* 67*f6dc9357SAndroid Build Coastguard Worker HRESULT hres = HRESULT_FROM_WIN32(wres); 68*f6dc9357SAndroid Build Coastguard Worker ErrorMessageHRESULT(hres, imageName); 69*f6dc9357SAndroid Build Coastguard Worker return hres; 70*f6dc9357SAndroid Build Coastguard Worker */ 71*f6dc9357SAndroid Build Coastguard Worker } 72*f6dc9357SAndroid Build Coastguard Worker #else 73*f6dc9357SAndroid Build Coastguard Worker // HWND hwnd = NULL; 74*f6dc9357SAndroid Build Coastguard Worker HtmlHelp(NULL, GetSystemString(fs2us(path)), HH_DISPLAY_TOPIC, 0); 75*f6dc9357SAndroid Build Coastguard Worker #endif 76*f6dc9357SAndroid Build Coastguard Worker } 77*f6dc9357SAndroid Build Coastguard Worker 78*f6dc9357SAndroid Build Coastguard Worker #endif 79