路径名的问题

youlitai0116 2008-09-22 01:26:55
我首先 用
CFileDialog myDlg(TRUE, NULL, NULL, 0, _T("dwg|*.dwg||"));
srcFile = myDlg.GetPathName();
得到用户选择的文件。
然后
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" ,
"strFile",NULL,SW_SHOWNORMAL);
打开这个文件。但调试的时候发现 比如: 用户选择的是C:\1.dwg这个文件,也就是说srcFile=C:\1.dwg,但打开时还是会提示找不到文件,只有将在代码中
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" ,
"C:\\1.dwg",NULL,SW_SHOWNORMAL);
才可以 ,请问如何解决?
...全文
66 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiqing_gao 2008-09-25
  • 打赏
  • 举报
回复
小收藏一下
youlitai0116 2008-09-22
  • 打赏
  • 举报
回复
楼上的 感激不尽 帮我好多忙了!
xuxingok 2008-09-22
  • 打赏
  • 举报
回复
晕,"strFile"。。。。。。
xuxingok 2008-09-22
  • 打赏
  • 举报
回复
你在命令行里,实现acad C:\1.dwg,看看acad命令是否是这样打开文件的
rollrock1987 2008-09-22
  • 打赏
  • 举报
回复
"strFile" 你这个值 不是C:\1.dwg了 而是 "C:\1.dwg” 这个根本就不是一个合法的路径名
菜牛 2008-09-22
  • 打赏
  • 举报
回复
srcFile = _T("\"");
srcFile += myDlg.GetPathName();
srcFile += _T("\"");
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" , srcFile,NULL,SW_SHOWNORMAL);
WillyWonka 2008-09-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oo_v_oo 的回复:]
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" ,
"strFile",NULL,SW_SHOWNORMAL);

将"strFile"的双引号去掉,并改成
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" , srcFile,NULL,SW_SHOWNORMAL);
[/Quote]

同上
oo_v_oo 2008-09-22
  • 打赏
  • 举报
回复
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" ,
"strFile",NULL,SW_SHOWNORMAL);

将"strFile"的双引号去掉,并改成
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" , srcFile,NULL,SW_SHOWNORMAL);

youlitai0116 2008-09-22
  • 打赏
  • 举报
回复
晕 !整理下:
我这样写:
CFileDialog myDlg(TRUE, NULL, NULL, 0, _T("dwg|*.dwg||"));
srcFile = myDlg.GetPathName();
ShellExecute(NULL,"open","C:\\Program Files\\AutoCAD 2004\\acad.exe" , srcFile,NULL,SW_SHOWNORMAL);
这样写 如果 用户选择的文件 路径名中有空格,就会找不大文件 请问如何处理? 谢谢!

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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