vc ++ 打开某个图片文件

ShellExecute(NULL,"open","C:\Users\dengguangyu\Desktop\图片存储\123.bmp",NULL,NULL,SW_SHO... ShellExecute(NULL, "open", "C:\Users\dengguangyu\Desktop\图片存储\123.bmp", NULL, NULL, SW_SHOWNORMAL);
为什么没反应呢?也不报错
我发现我没有转意,应该是c:\\****\\***.bmp
但是我刚才获取的路径地址是没有\\的。我如何临时获取,并且用某个方法打开呢
展开
 我来答
bhtzu
推荐于2016-05-05 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4072万
展开全部
首先注意:字符串中的反斜杠需要转译。"C:\\Users\\dengguangyu\\Desktop\\图片存储\\123.bmp"

其次,让ShellExecute获取返值并观察,如果返值小于32,那么是函数执行问题,否则,可能是系统问题。

在有,尝试在根目录或者短英文目录放置文件打开,有时候中文目录需要UNICODE处理。
最后,如果你是win7系统,那么很可能是权限问题,普通用户对C盘没有操作权限,解决办法很多,搜“ShellExecute win7”有大量的说明,就不复制了。

获取所谓没有转译的说法不准确,因为“转译”就是赋值需要,在实际字符串存储后,当然是一个反斜杠,占一个char。
更多追问追答
追问
大神你真的帮了我好多,谢谢你,我一会给你加分。顺便问你下,我刚才不是获得了一个路径吗?CString str = dlg.GetPathName();
m_tou=str;现在我想做一个按钮打开获取路径的文件,我该怎么做呢?我没法用ShellExecute(NULL, "open", "m_tou", NULL, NULL, SW_SHOWNORMAL);这种方法了吧?我该怎么办
追答
首先,这个文件名字符串要在对话框类成员函数中保存(这样才能在不同响应函数中传递值)。
有了这个字符串,打开文件很简单,关键是你要打开做什么的问题。
CFile file;
file.Open(类成员变量字符串文件名,CFile::modeRead);
//这时候file就可以操作了,如file.Read(...);
//最后别忘了
file.Close();

ps一下,让我佩服一下楼下,呵呵,追问的回答让我愣住了,这是只看标题的标准答案o.o
来自:求助得到的回答
wenfeng000615
2013-05-30 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:100%
帮助的人:16.1万
展开全部
先打开VC,然后把文件直接甩过去。
追问
我想用命令,打开某一个路径的文件啊
追答
打开VC++,左上角有一个像书一样的东西,点击他就可以打开文件了,打开文件的时候注意选择文件类型。你再试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式