MFC 单击按钮打开PDF

HUSTYZHY 2014-06-12 05:12:47
MFC界面上单击按钮打开PDF文档,代码如下:
ShellExecute(NULL,_T("open"),_T("E:\\program\\CNCDB\\res\\CNC\\说明书.pdf"),NULL,NULL,SW_SHOW);
或者采用相对地址:
ShellExecute(NULL,_T("open"),_T("res\\CNC\\说明书.pdf"),NULL,NULL,SW_SHOW);
都可以打开,但是在制作安装包的时候要将PDF文档添加在安装包内,地址会有变化,求问如何解决这个问题
...全文
315 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lis2012 2014-06-13
  • 打赏
  • 举报
回复
引用 楼主 GANSUYZHY 的回复:
MFC界面上单击按钮打开PDF文档,代码如下: ShellExecute(NULL,_T("open"),_T("E:\\program\\CNCDB\\res\\CNC\\说明书.pdf"),NULL,NULL,SW_SHOW); 或者采用相对地址: ShellExecute(NULL,_T("open"),_T("res\\CNC\\说明书.pdf"),NULL,NULL,SW_SHOW); 都可以打开,但是在制作安装包的时候要将PDF文档添加在安装包内,地址会有变化,求问如何解决这个问题
获取相对路径
shen_wei 2014-06-13
  • 打赏
  • 举报
回复
INNO 打包 Source: "Bios\*.*"; DestDir: "{app}\Bios"
zsmj01 2014-06-13
  • 打赏
  • 举报
回复
让安装后的相对路径 跟 开发相对路径一样。
凌乱哥 2014-06-12
  • 打赏
  • 举报
回复
相对地址不会变吧
liwuwu0308 2014-06-12
  • 打赏
  • 举报
回复
如果是用InstallShield进行打包的,可以把PDF文件放到 Support Files/Billboards里面,脚本里面调用ShellExecute(NULL,_T("open"),SUPPORTDIR ^_T("说明书.pdf"),NULL,NULL,SW_SHOW); SUPPORTDIR ^_T("说明书.pdf")这个就是在安装包里面的地址。
傻X 2014-06-12
  • 打赏
  • 举报
回复

static CString GetAppPath()
{
	TCHAR szPath[ MAX_PATH ]; // 获取应用程序路径

	if (GetModuleFileName(NULL, szPath, MAX_PATH)) // 不等于0表示成功
	{
		CString AppPath = (CString) szPath;
		AppPath = AppPath.Left(AppPath.ReverseFind('\\'));

		if (AppPath.Right(1) != "\\")
		{
			AppPath += "\\";
		}

		return AppPath;
	}
	return _T("");
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧