BOOL APP_HelpInfo(HWND hWnd, UINT nHelpID) { int nPos = 0; CString strHelpFilePath; CString strTemp; strTemp = theApp.m_pszHelpFilePath; #ifdef MAINWIN nPos = strTemp.ReverseFind( '/'); #else nPos = strTemp.ReverseFind( '\\'); #endif if (nPos != -1) { strHelpFilePath = strTemp.Left( nPos +1 ); strHelpFilePath += _T("vcda.chm"); } TRACE1 ("APP_HelpInfo, Help Context ID = %d\n", nHelpID); if (nHelpID == 0) HtmlHelp(hWnd, strHelpFilePath, HH_DISPLAY_TOPIC, NULL); else HtmlHelp(hWnd, strHelpFilePath, HH_HELP_CONTEXT, nHelpID); return TRUE; }
// /// Called by EvHelp() to activate the help file with the help context ID. // void THelpFileManager::ActivateHelp(TWindow* /*window*/, int helpFileContextId, uint helpCmd) { if (helpCmd == HELP_INDEX || helpCmd == HELP_CONTENTS) helpCmd = HELP_FINDER; TApplication* app = TYPESAFE_DOWNCAST(this, TApplication); #if !defined(NO_HTMLHELP) if(UseHTMLHelp){ if (app) HelpState = ToBool(HtmlHelp(app->GetMainWindow(), GetHelpFile().c_str(), helpCmd, helpFileContextId) != 0); else HelpState = ToBool(HtmlHelp(0, GetHelpFile().c_str(), helpCmd, helpFileContextId) != 0); } else{ #endif if (app) HelpState = ToBool(app->GetMainWindow()->WinHelp(GetHelpFile().c_str(), helpCmd, helpFileContextId)); else HelpState = ToBool(::WinHelp(0, GetHelpFile().c_str(), helpCmd, helpFileContextId)); #if !defined(NO_HTMLHELP) } #endif }
void fsContextHelpMgr::OnWT() { if (m_bInWT) return; if (m_iLastCtrl == -1) return; m_bInWT = TRUE; HH_POPUP popup; ZeroMemory (&popup, sizeof (popup)); popup.cbStruct = sizeof (popup); popup.pszText = m_pLastCtrls [m_iLastCtrl].pszDesc; popup.pt = m_ptLast; popup.clrForeground = UINT (-1); popup.clrBackground = UINT (-1); popup.rcMargins = CRect (-1, -1, -1, -1); popup.pszFont = _T("MS Sans Serif, 8, DEFAULT_CHARSET"); HtmlHelp (m_pLastDlg->m_hWnd, NULL, HH_DISPLAY_TEXT_POPUP, (DWORD) &popup); m_bInWT = FALSE; }
void ParamHelp( UINT nTech ) { CString strTech = AfxGetSTTShortName( nTech ); if( !strTech.IsEmpty() ) strTech = "#" + strTech; HtmlHelp(NULL, "StockAna.chm::/htm/techs.htm" + strTech, HH_DISPLAY_TOPIC, 0); }
static LRESULT CALLBACK notifier_wnd_proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == TOKEN_MESSAGE_ID) { switch (lParam) { case NIN_SELECT: case NIN_KEYSELECT: { NOTIFYICONDATA idata; khm_int32 cmd = KHUI_ACTION_OPEN_APP; khc_read_int32(NULL, L"CredWindow\\NotificationAction", &cmd); khui_action_trigger(cmd, NULL); ZeroMemory(&idata, sizeof(idata)); Shell_NotifyIcon(NIM_SETFOCUS, &idata); } return 0; case WM_CONTEXTMENU: handle_context_menu(); return TRUE; default: return 0; } } else if (uMsg == WM_COMMAND) { switch (LOWORD(wParam)) { case ID_DEFAULT: { khm_int32 cmd; cmd = get_default_notifier_action(); khui_action_trigger(cmd, NULL); } return TRUE; case ID_SHOWHELP: { wchar_t helploc[MAX_PATH + MAX_PATH]; get_help_file(helploc, sizeof(helploc)); StringCbCat(helploc, sizeof(helploc), L"::index.html"); HtmlHelp(notifier_window, helploc, HH_DISPLAY_TOPIC, 0); } return TRUE; } } return DefWindowProc(hwnd, uMsg, wParam, lParam); }
void ShowHelpWindow(HWND hwnd, LPCWSTR topicFile) { UString path; if (!::GetProgramFolderPath(path)) return; path += kHelpFileName; path += topicFile; HtmlHelp(hwnd, GetSystemString(path), HH_DISPLAY_TOPIC, NULL); }
void CCopyHandlerApp::OnResManNotify(UINT uiType) { if (uiType == RMNT_LANGCHANGE) { // language has been changed - close the current help file if (UpdateHelpPaths()) HtmlHelp(NULL, HH_CLOSE_ALL); } }
khm_int32 KHMAPI help_launcher(HWND hwnd_main, void * rock) { wchar_t helploc[MAX_PATH + MAX_PATH]; get_help_file(helploc, sizeof(helploc)); HtmlHelp(hwnd_main, helploc, HH_DISPLAY_TOC, 0); return KHM_ERROR_SUCCESS; }
void CWZPropertyPage::ShowHelp(const CString &topicFile) { if (!app.GetHelpFileName().IsEmpty()) { const CString cs_HelpTopic = app.GetHelpFileName() + topicFile; HtmlHelp(DWORD_PTR((LPCWSTR)cs_HelpTopic), HH_DISPLAY_TOPIC); } else { CGeneralMsgBox gmb; gmb.AfxMessageBox(IDS_HELP_UNAVALIABLE, MB_ICONERROR); } }
// /// Deactivates the help. // void THelpFileManager::DeactivateHelp() { TApplication* app = TYPESAFE_DOWNCAST(this, TApplication); #if !defined(NO_HTMLHELP) if(UseHTMLHelp){ if (app) HtmlHelp(app->GetMainWindow(), GetHelpFile().c_str(), HELP_QUIT, 0); else HtmlHelp(0, GetHelpFile().c_str(), HELP_QUIT, 0); } else{ #endif if (app) app->GetMainWindow()->WinHelp(GetHelpFile().c_str(), HELP_QUIT, 0); else ::WinHelp(0, GetHelpFile().c_str(), HELP_QUIT, 0); #if !defined(NO_HTMLHELP) } #endif }
/*---------------------------------------------------------------------------------------------- OnHelp shows the help page for the dialog (if there is one). ----------------------------------------------------------------------------------------------*/ bool RnAnthroListDlg::OnHelp() { AssertPsz(m_pszHelpUrl); if (m_strHelpFilename.Length()) { StrAppBufPath strbpHelp; strbpHelp.Format(_T("%s::/%s"), m_strHelpFilename.Chars(), m_pszHelpUrl); HtmlHelp(::GetDesktopWindow(), strbpHelp.Chars(), HH_DISPLAY_TOPIC, NULL); return true; } return false; }
void CCeWatchDlg::WinHelp(DWORD dwData, UINT nCmd) { HWND hWnd = ::GetActiveWindow(); CString strManualPath; UINT nStrLen = _MAX_PATH; HRESULT hr = UTIL_GetInstallPath(strManualPath.GetBuffer(_MAX_PATH), &nStrLen); strManualPath.ReleaseBuffer(); if(SUCCEEDED(hr)) { strManualPath += CE_MANUAL_FILENAME; switch(nCmd) { case HELP_CONTEXT: if(dwData >= 0x30000) { dwData -= 0x30000; } else if(dwData >= 0x20000) { dwData -= 0x20000; } else if(dwData >= 0x10000) { dwData -= 0x10000; } HtmlHelp(hWnd, strManualPath, HH_HELP_CONTEXT, dwData); break; case HELP_INDEX: break; case HELP_FINDER: HtmlHelp(hWnd, strManualPath, HH_DISPLAY_TOPIC, NULL); break; } } // CDialog::WinHelp(dwData, nCmd); }
/* This function handles the WM_NOTIFY message. */ LRESULT FASTCALL RASBlinkProperties_OnNotify( HWND hwnd, int code, LPNMHDR lpnmhdr ) { switch( lpnmhdr->code ) { case PSN_HELP: HtmlHelp( hwnd, szHelpFile, HH_HELP_CONTEXT, idsBLINK_RAS ); break; case PSN_APPLY: { LPBLINKENTRY lpbe; HWND hwndTab; /* Update the blink entry structure. */ lpbe = (LPBLINKENTRY)GetWindowLong( hwnd, DWL_USER ); hwndTab = PropSheet_GetTabControl( GetParent( hwnd ) ); if( !TabCtrl_GetEnable( hwndTab, idRasTab ) ) lpbe->rd.fUseRAS = FALSE; else lpbe->rd.fUseRAS = IsDlgButtonChecked( hwnd, IDD_USERAS ); /* If we use RAS, we'll need the entry name. */ if( lpbe->rd.fUseRAS ) { HWND hwndList; /* Get the entry name. */ hwndList = GetDlgItem( hwnd, IDD_LIST ); ComboBox_GetText( hwndList, lpbe->rd.szRASEntryName, RAS_MaxEntryName+1 ); /* Get username and password. */ Edit_GetText( GetDlgItem( hwnd, IDD_USERNAME ), lpbe->rd.szRASUserName, UNLEN+1 ); Edit_GetText( GetDlgItem( hwnd, IDD_PASSWORD ), lpbe->rd.szRASPassword, PWLEN+1 ); if( ( strlen( lpbe->rd.szRASEntryName ) == 0 ) || ( strlen( lpbe->rd.szRASUserName ) == 0 ) || ( strlen( lpbe->rd.szRASPassword ) == 0 ) ) { fMessageBox( hwnd, 0, GS(IDS_STR1242), MB_OK|MB_ICONEXCLAMATION ); return( PSNRET_INVALID_NOCHANGEPAGE ); } Amuser_Encrypt( lpbe->rd.szRASPassword, rgEncodeKey ); } /* Force the Apply button to be disabled. */ PropSheet_UnChanged( GetParent( hwnd ), hwnd ); return( PSNRET_NOERROR ); } } return( FALSE ); }
BOOL APP_HelpInfo(HWND hWnd, UINT nHelpID) { int nPos = 0; CString strHelpFilePath; CString strTemp; if (theApp.m_strNewHelpPath.IsEmpty()) strTemp = theApp.m_pszHelpFilePath; else strTemp = theApp.m_strNewHelpPath; #ifdef MAINWIN nPos = strTemp.ReverseFind( '/'); #else nPos = strTemp.ReverseFind( '\\'); #endif if (nPos != -1) { strHelpFilePath = strTemp.Left( nPos +1 ); strHelpFilePath += theApp.m_strHelpFile; } else strHelpFilePath = theApp.m_strHelpFile; TRACE1 ("APP_HelpInfo, Help Context ID = %d\n", nHelpID); if (theApp.m_bHelpFileAvailable) { if (nHelpID == 0) HtmlHelp(hWnd, strHelpFilePath, HH_DISPLAY_TOPIC, NULL); else HtmlHelp(hWnd, strHelpFilePath, HH_HELP_CONTEXT, nHelpID); } else { TRACE0 ("Help file is not available: <theApp.m_bHelpFileAvailable = FALSE>\n"); return FALSE; } return TRUE; }
void CFirstStartWizardAuthentication::OnClickedLink(NMHDR* pNMHDR, LRESULT* pResult) { ATLASSERT(pNMHDR && pResult); auto pNMLink = reinterpret_cast<PNMLINK>(pNMHDR); if (wcscmp(pNMLink->item.szID, L"manual") == 0) HtmlHelp(0x20000 + IDD_FIRSTSTARTWIZARD_AUTHENTICATION); else if (wcscmp(pNMLink->item.szID, L"sshfaq") == 0) { CString helppath(theApp.m_pszHelpFilePath); helppath += L"::/tgit-ssh-howto.html"; ::HtmlHelp(GetSafeHwnd(), helppath, HH_DISPLAY_TOPIC, 0); } *pResult = 0; }
//************************************************************* void view_help_screen(HWND hwnd) { char msgstr[81] ; find_chm_location() ; wsprintf(msgstr, "help=[%s]", chmname) ; put_message(msgstr) ; // MinGw gives a couple of indecipherable warnings about this: // Warning: .drectve `-defaultlib:uuid.lib ' unrecognized // Warning: .drectve `-defaultlib:uuid.lib ' unrecognized // But ignoring them doesn't seem to hurt anything... HtmlHelp(hwnd, chmname, HH_DISPLAY_TOPIC, 0L); return ; }
static LRESULT CALLBACK notifier_wnd_proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if (uMsg == TOKEN_MESSAGE_ID) { switch (lParam) { case NIN_SELECT: case NIN_KEYSELECT: handle_select(); return TRUE; case WM_CONTEXTMENU: handle_context_menu(); return TRUE; default: return FALSE; } } else if (uMsg == WM_COMMAND) { switch (LOWORD(wParam)) { case ID_DEFAULT: { khm_int32 cmd; cmd = get_default_notifier_action(); khui_action_trigger(cmd, NULL); } return TRUE; case ID_SHOWHELP: { afs_html_help(notifier_window, L"::/html/welcome.htm", HH_DISPLAY_TOPIC, 0); } return TRUE; case ID_RELEASENOTES: { wchar_t relnotes[MAX_PATH]; if (get_release_notes(relnotes)) HtmlHelp(GetDesktopWindow(), relnotes, HH_DISPLAY_TOC, 0); } return TRUE; } } return DefWindowProc(hwnd, uMsg, wParam, lParam); }
/** * @brief Show HTML help. * This function shows HTML help, with given command and path. * @param [in] uCommand How/what to open in help (TOC etc). * @param [in] path Additional relative path inside help file to open. * @param [in] hParentWindow Window opening this help. */ void ShowHtmlHelp(UINT uCommand, LPCTSTR path, HWindow *pParentWindow) { TCHAR fullHelpPath[MAX_PATH]; GetModuleFileName(NULL, fullHelpPath, MAX_PATH); PathRemoveFileSpec(fullHelpPath); PathAppend(fullHelpPath, HtmlHelpFile); if (!PathFileExists(fullHelpPath)) { TCHAR msg[500]; _sntprintf(msg, RTL_NUMBER_OF(msg), GetLangString(IDS_ERR_HELP_NOT_FOUND), fullHelpPath); MessageBox(pParentWindow, msg, MB_ICONERROR); return; } if (uCommand == HELP_CONTEXT) { if (path != NULL) { TCHAR fullpath[MAX_PATH] = {0}; _sntprintf(fullpath, MAX_PATH, _T("%s::/%s"), fullHelpPath, path); HtmlHelp(NULL, fullpath, HH_DISPLAY_TOPIC, NULL); } else { HtmlHelp(NULL, fullHelpPath, HH_DISPLAY_TOPIC, NULL); } } else if (uCommand == HELP_FINDER) { HtmlHelp(NULL, fullHelpPath, HH_DISPLAY_SEARCH, NULL); } else if (uCommand == HELP_CONTENTS) { HtmlHelp(NULL, fullHelpPath, HH_DISPLAY_TOC, NULL); } }
/* This function handles the dialog box messages passed to the Print Message * dialog. */ LRESULT FASTCALL PrintOutbasketDlg_DlgProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { HANDLE_MSG( hwnd, WM_INITDIALOG, PrintOutbasketDlg_OnInitDialog ); HANDLE_MSG( hwnd, WM_COMMAND, PrintOutbasketDlg_OnCommand ); case WM_ADMHELP: HtmlHelp( hwnd, szHelpFile, HH_HELP_CONTEXT, idsPRINTOUTBASKET ); break; default: return( DefDlgProcEx( hwnd, message, wParam, lParam, &fDefDlgEx ) ); } return( FALSE ); }
/* This function dispatches messages for the About dialog. */ LRESULT FASTCALL CmdSignatureDlg_DlgProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { HANDLE_MSG( hwnd, WM_INITDIALOG, CmdSignatureDlg_OnInitDialog ); HANDLE_MSG( hwnd, WM_COMMAND, CmdSignatureDlg_OnCommand ); case WM_ADMHELP: HtmlHelp( hwnd, szHelpFile, HH_HELP_CONTEXT, idsSIGNATURE ); break; default: return( DefDlgProcEx( hwnd, message, wParam, lParam, &fDefDlgEx ) ); } return( FALSE ); }
/* This function dispatches messages for the Get New Newsgroups dialog. */ LRESULT FASTCALL SortMailFrom_DlgProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { HANDLE_MSG( hwnd, WM_INITDIALOG, SortMailFrom_OnInitDialog ); HANDLE_MSG( hwnd, WM_COMMAND, SortMailFrom_OnCommand ); HANDLE_MSG( hwnd, WM_MEASUREITEM, FolderCombo_OnMeasureItem ); HANDLE_MSG( hwnd, WM_DRAWITEM, FolderCombo_OnDrawItem ); case WM_ADMHELP: HtmlHelp( hwnd, szHelpFile, HH_HELP_CONTEXT, idsSORTMAILFROM ); break; default: return( DefDlgProcEx( hwnd, message, wParam, lParam, &fDefDlgEx ) ); } return( FALSE ); }
/** * @ Public * 打开 CHM 文件的某个页面 */ BOOL CProcFunc::OpenChmHelpPage( WPARAM wParam ) { BOOL bRet = FALSE; TCHAR szCmdLine[ MAX_PATH ] = {0}; if ( PathFileExists( m_szChmFile ) ) { bRet = TRUE; // 显示帮助文件 if ( WPARAM_HEMLHELP_VWFIREWALL_OVERVIEW == wParam ) { _sntprintf( szCmdLine, sizeof(szCmdLine)-sizeof(TCHAR), "%s::/overview.htm", m_szChmFile ); HtmlHelp( NULL, szCmdLine, HH_DISPLAY_TOPIC, 0 ); } } return bRet; }
/* This function handles the WM_NOTIFY message. */ LRESULT FASTCALL Comms_Blink_OnNotify( HWND hwnd, int code, LPNMHDR lpnmhdr ) { switch( lpnmhdr->code ) { case PSN_HELP: HtmlHelp( hwnd, szHelpFile, HH_HELP_CONTEXT, idsCOMM_BLINK ); break; case PSN_SETACTIVE: nLastCommsDialogPage = 0; break; case PSN_APPLY: fShowBlinkWindow = IsDlgButtonChecked( hwnd, IDD_SHOWBLINKWINDOW ); Amuser_WritePPInt( szSettings, "ShowBlinkWindow", fShowBlinkWindow ); break; } return( FALSE ); }
/* This function handles the dialog box messages passed to the Login * dialog. */ LRESULT FASTCALL ChangeDir_DlgProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { HANDLE_MSG( hwnd, WM_INITDIALOG, ChangeDir_OnInitDialog ); HANDLE_MSG( hwnd, WM_COMMAND, ChangeDir_OnCommand ); HANDLE_MSG( hwnd, WM_MEASUREITEM, ChangeDir_OnMeasureItem ); case WM_ADMHELP: HtmlHelp( hwnd, szHelpFile, HH_HELP_CONTEXT, idsCHANGEDIR ); break; case WM_DRAWITEM: DriveDirDrawItem( (LPDRAWITEMSTRUCT)lParam, IDD_DRIVELIST == wParam ); return TRUE; default: return( DefDlgProcEx( hwnd, message, wParam, lParam, &fDefDlgEx ) ); } return( FALSE ); }
BOOL CMainFrame::OnHelpInfo(HELPINFO* pHelpInfo) { // TODO: Add your message handler code here and/or call default if ( (m_iForm == 102) ) HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? 102 : 0); else if ( (m_iForm == 134) ) HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? 134 : 0); else if ( (m_iForm == 133) ) HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? 133 : 0); else if ( (m_iForm == 145) ) HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? 145 : 0); else if ( (m_iForm == 150) ) HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? 150 : 0); else if ( (m_iForm == 184) ) HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? 184 : 0); HtmlHelp (m_hWnd, AfxGetApp()->m_pszHelpFilePath, HH_HELP_CONTEXT, HELP_CONTEXT ? pHelpInfo->iCtrlId : 0); return 0; //return CFrameWnd::OnHelpInfo(pHelpInfo); }
void win32_help(struct uih_context *c, CONST char *name) { #ifdef HTML_HELP FILE *f; char *n; if (helpname == NULL) { if (directX == DXFULLSCREEN) ShowWindow(hWnd, SW_MINIMIZE); n = xio_fixpath("\01\\help\\xaoshelp.chm"); if ((f = fopen(n, "r"))) { fclose(f); } else { free(n); n = xio_fixpath("\01\\..\\help\\xaoshelp.chm"); if ((f = fopen(n, "r"))) { fclose(f); } else n = strdup("..\\help\\xaoshelp.chm"); } helpname = n; } HH_AKLINK link; link.cbStruct = sizeof(HH_AKLINK) ; link.fReserved = FALSE ; link.pszKeywords = name ; link.pszUrl = NULL ; link.pszMsgText = NULL ; link.pszMsgTitle = NULL ; link.pszWindow = NULL ; link.fIndexOnFail = TRUE ; if (!HtmlHelp(hWnd, helpname, HH_ALINK_LOOKUP, (DWORD) &link)) { x_error("Could not display help for topic %s from file %s", name, helpname); } #else x_error("Help support not included in this executable."); #endif }
void CCSHCommon::DisplayHelp(HWND hCtrl,UINT ids,HINSTANCE hInst) { DWORD dwPos=GetMessagePos(); HH_POPUP hhp; if (HIWORD(ids) == 0) { hhp.idString=ids; hhp.pszText=_T("No help is available for this item"); } else { hhp.idString=0; hhp.pszText=(LPCTSTR)ids; } hhp.cbStruct=sizeof(hhp); hhp.hinst=hInst; hhp.pt.x=GET_X_LPARAM(dwPos); hhp.pt.y=GET_Y_LPARAM(dwPos); hhp.clrForeground=(COLORREF)-1; //default hhp.clrBackground=GetSysColor(COLOR_INFOBK); hhp.rcMargins=CRect(-1,-1,-1,-1); hhp.pszFont=NULL; HtmlHelp(hCtrl,NULL,HH_DISPLAY_TEXT_POPUP,(DWORD)&hhp); }
void CMainFrame::OnHelpFinder() { //Look up path of html in registry. CComBSTR bstrPath; HRESULT hr; hr = FindHelpPath(&bstrPath.m_str); CString finalPath = "winhlp32.exe "; CString params = CString(bstrPath)+"vworlds.chm::/admin/StAdmin.htm"; //mk:@MSITStore:C:\Program%20Files\Microsoft%20Virtual%20Worlds\docs\vworlds.chm::/admin/StAdmin.htm //Spawn IE. //HINSTANCE hInst = ShellExecute(NULL,NULL,finalPath,params,NULL,SW_SHOWNORMAL); //int ret = system("start iexplore \""+finalPath+"\""); // HtmlHelp(NULL, params, HH_DISPLAY_TOPIC, 0); HtmlHelp(GetSafeHwnd(),params,HH_DISPLAY_TOPIC,0); /* if((int)hInst<=32) { AfxMessageBox("Error: Couldn't find the web page or unable to start Explorer."); } */ }
LRESULT FulIgnorePage::onHelp(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { HtmlHelp(m_hWnd, WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_FULIGNOREPAGE); return 0; }
LRESULT FulIgnorePage::onHelpInfo(LPNMHDR /*pnmh*/) { HtmlHelp(m_hWnd, WinUtil::getHelpFile().c_str(), HH_HELP_CONTEXT, IDD_FULIGNOREPAGE); return 0; }