怎么样实现调用帮助系统阿? 各位高手,本人编制了一个程序的使用说明,是*.chm格式的,想和程序的可执行文件放在一起,怎么样实现,当使用者按下F1时,就调用帮助文档阿?和vc的msdn一样的功能。 大侠请指教!!!! 还有啊,如果想把*.chm放在install sheild中,怎么加阿? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你重载主窗口的WinHelp函数,然后修改函数内容为ShellExecute(GetSafeHwnd(), NULL, sHelpFile, NULL, NULL, SW_SHOWMAXIMIZED);==========================================================ZZZZZZZZZZZZzzzzzzz~~~~~~~~~~ void CSLCCXPDlg::OnAppHelp() { CString strHelp; CString dir(AfxGetApp()->m_pszHelpFilePath); strHelp = dir + _T("\\xxx.chm"); ShellExecute(GetSafeHwnd(), "open", strHelp, NULL, NULL, SW_SHOWMAXIMIZED); }//and you may translate F1 message //.hafx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo );-------------------------------------------------//.cppvoid GetAppPath(CString &appPath){ char Path[_MAX_PATH]; char *pCh; GetModuleFileName(NULL, Path, sizeof(Path)); pCh = strrchr(Path, '\\'); if(NULL != pCh) *pCh = 0; appPath.Format("%s", Path);}BOOL CXXDlg::OnHelpInfo(HELPINFO* pHelpInfo ){ CString strDir; GetAppPath( strDir ); strDir += "XXX.chm"; if( GetFileAttributes( strDir ) != 0xFFFFFFFF ) { ShellExecute( NULL, "open", strDir, NULL, NULL, SW_SHOWNORMAL ); } else { AfxMessageBox( "Cann't find the help file" ); } return TRUE;} 最简单的办法是对ID_HELP进行消息映射,即重载CWinApp::OnHelp,然后调用::ShellExec或WinHelp如下:BEGIN_MESSAGE_MAP(CMainCtrlApp, CWinApp) //{{AFX_MSG_MAP(CMainCtrlApp) ON_COMMAND(ID_HELP, OnHelp) //响应F1键 //}}AFX_MSG_MAP END_MESSAGE_MAP()//响应F1键void CMyApp::OnHelp(){ ShellExecute(NULL, cMyHelpChm, NULL, NULL, SW_SHOWMAXIMIZED); } MFC中使用不同字符集显示不同外观的界面 新手求解 模板类map插入一个自定义类对象遇到问题 求解 openCV是什么? 如何显示行号 字符串显示“ABC%20def”,请问是什么字符集?如何转换成正常格式? 老师让我们做个虚拟的操作系统,请高手帮忙 那位dx能告诉我哪有下vc++,我是菜鸟 小弟急需在对话框上显示tga图象文件,请各位帮帮忙啊! 请问获得DC的方法的区别 为何不能处理系统菜单? 关于隐式调用dll的问题
ShellExecute(GetSafeHwnd(), NULL, sHelpFile, NULL, NULL, SW_SHOWMAXIMIZED);
==========================================================
ZZZZZZZZZZZZzzzzzzz~~~~~~~~~~
{
CString strHelp;
CString dir(AfxGetApp()->m_pszHelpFilePath);
strHelp = dir + _T("\\xxx.chm");
ShellExecute(GetSafeHwnd(), "open", strHelp, NULL, NULL, SW_SHOWMAXIMIZED);
}
//and you may translate F1 message
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo );
-------------------------------------------------
//.cpp
void GetAppPath(CString &appPath)
{
char Path[_MAX_PATH];
char *pCh; GetModuleFileName(NULL, Path, sizeof(Path));
pCh = strrchr(Path, '\\');
if(NULL != pCh) *pCh = 0; appPath.Format("%s", Path);
}
BOOL CXXDlg::OnHelpInfo(HELPINFO* pHelpInfo )
{
CString strDir; GetAppPath( strDir );
strDir += "XXX.chm"; if( GetFileAttributes( strDir ) != 0xFFFFFFFF )
{
ShellExecute( NULL, "open", strDir, NULL, NULL, SW_SHOWNORMAL );
}
else
{
AfxMessageBox( "Cann't find the help file" );
}
return TRUE;
}
//{{AFX_MSG_MAP(CMainCtrlApp)
ON_COMMAND(ID_HELP, OnHelp) //响应F1键
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//响应F1键
void CMyApp::OnHelp()
{
ShellExecute(NULL, cMyHelpChm, NULL, NULL, SW_SHOWMAXIMIZED);
}