如何实现C++打开任意格式的文件

lqh3672 2012-07-07 07:04:15
就相当于WINDOWS下双击文件,如果有关联程序就关联程序打开,如果没有就和WINDOWS一样打开方式。。。
...全文
2191 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
LTXBOB 2013-08-12
  • 打赏
  • 举报
回复
哦,已懂,在有空的那一个文件名两边的地方加\"
LTXBOB 2013-08-12
  • 打赏
  • 举报
回复
如果地址名中有空格呢?? 他就直接只读取空格前的地址了,乍办???
sada09 2012-07-12
  • 打赏
  • 举报
回复
看半天没懂聊撒子。
二两就醉 2012-07-11
  • 打赏
  • 举报
回复
上首页,脑残贴!
fdsdfdsf 2012-07-09
  • 打赏
  • 举报
回复
ShellExecute函数
自己查MSDN
qq120848369 2012-07-08
  • 打赏
  • 举报
回复
这里是C++区,WINDOWS问题直接去VC区问,这里没几个会的。
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]
ShellExcute
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
[/Quote]
不是很懂,不过看起来很腻害的样子,,我会试下先,,3Q!!
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 的回复:]
引用 10 楼 的回复:

引用 4 楼 的回复:
C/C++ code

#include <stdlib.h>
int main()
{
system("C:\\Users\\ago\\Desktop\\google-hacking.pdf");
return 0;
}



有关联就直接打开了

出现一个像CMD窗口一闪而过啊,,,没有打开文件

把C:\……
[/Quote]

3Q3Q!!!,
喔,,我改成\\确实能打开,但是还是有问题,就是CMD窗口一直存在,如果先后打开两个,就必须先关闭一个CMD窗口。我希望是直接打开文件,能不能不开启CMD窗口,而且打开的时间稍慢,可有地方能控制
beckhanyan 2012-07-08
  • 打赏
  • 举报
回复
ShellExcute
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
http://topic.csdn.net/t/20030615/13/1917671.html
这个帖子已经说的很清楚了阿。


引用 16 楼 的回复:

引用 14 楼 的回复:
引用 11 楼 的回复:

引用 9 楼 的回复:
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。

额。。我的意识还没表达清楚么?
我的意思是,我要实现……
[/Quote]
我仔细的再看了一遍,你的传送门里的是说,修改注册表,将一种程序关联到某个执行程序。
这个和我的问题有什么关系?!我是需要调用WINDOWS的双击打开文件的方法!! 我理解错了么?
Gloveing 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 4 楼 的回复:
C/C++ code

#include <stdlib.h>
int main()
{
system("C:\\Users\\ago\\Desktop\\google-hacking.pdf");
return 0;
}



有关联就直接打开了

出现一个像CMD窗口一闪而过啊,,,没有打开文件
[/Quote]
把C:\\Users\\ago\\Desktop\\google-hacking.pdf换成你要打开的文件路径,注意是 '\\'
cobra_chen 2012-07-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20030615/13/1917671.html
这个帖子已经说的很清楚了阿。

[Quote=引用 16 楼 的回复:]

引用 14 楼 的回复:
引用 11 楼 的回复:

引用 9 楼 的回复:
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。

额。。我的意识还没表达清楚么?
我的意思是,我要实现WINDOWS的双击打开一个文件,有关联就打开,无关联就提示打开方式,我觉得WINDOWS是不是有这样的函数提供,我直接调用就可以,,抱歉,我是JAVA的,C++基本不……
[/Quote]
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
俺自个顶一下。。
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
引用 11 楼 的回复:

引用 9 楼 的回复:
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。

额。。我的意识还没表达清楚么?
我的意思是,我要实现WINDOWS的双击打开一个文件,有关联就打开,无关联就提示打开方式,我觉得WINDOWS是不是有这样的函数提供,我直接调用就可以,,抱歉,我是JAVA的,C++基本不会,MFC基本不懂。


……
[/Quote]
⊙﹏⊙b汗
我就是不知道如何实现双击响应啊。
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
那这个是操作注册表了。
java应该也可以操作注册表。
你可以新建一个名称,然后选择打开的方式。
然后在注册表搜索那个扩展名。
然后你可以手动添加,看看怎么才能自动关联。


引用 11 楼 的回复:

引用 9 楼 的回复:
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。

额。。我的意识还没表达清楚么?
我的意思是,我要实现WINDO……
[/Quote]

感谢回复,我现在的确是在整C++代码。所以是个新手,
我不是要改变文件的后缀和打开方式,我只是想调用WINDOWS的双击执行文件而已,至于他们有没有关联和能不能打开我不考虑。是否有这样的命令执行这样的动作?

chuifeng56 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 9 楼 的回复:
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。

额。。我的意识还没表达清楚么?
我的意思是,我要实现WINDOWS的双击打开一个文件,有关联就打开,无关联就提示打开方式,我觉得WINDOWS是不是有这样的函数提供,我直接调用就可以,,抱歉,我是JAVA的,C++基本不会,MFC基本不懂。
[/Quote]

对啊,把那行代码代码写成你的双击响应代码就好了吧。。。。路径名肯定要改成对应的,同时"\\"="\"
cobra_chen 2012-07-08
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20030615/13/1917671.html
cobra_chen 2012-07-08
  • 打赏
  • 举报
回复
那这个是操作注册表了。
java应该也可以操作注册表。
你可以新建一个名称,然后选择打开的方式。
然后在注册表搜索那个扩展名。
然后你可以手动添加,看看怎么才能自动关联。

[Quote=引用 11 楼 的回复:]

引用 9 楼 的回复:
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。

额。。我的意识还没表达清楚么?
我的意思是,我要实现WINDOWS的双击打开一个文件,有关联就打开,无关联就提示打开方式,我觉得WINDOWS是不是有这样的函数提供,我直接调用就可以,,抱歉,我是JAVA的,C++基本不会,MFC基本不懂。
[/Quote]
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
控制台?
-
另外,写程序的时候文件都是可以打开的。
只是读的方式不一样。
[/Quote]
额。。我的意识还没表达清楚么?
我的意思是,我要实现WINDOWS的双击打开一个文件,有关联就打开,无关联就提示打开方式,我觉得WINDOWS是不是有这样的函数提供,我直接调用就可以,,抱歉,我是JAVA的,C++基本不会,MFC基本不懂。
lqh3672 2012-07-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
C/C++ code

#include <stdlib.h>
int main()
{
system("C:\\Users\\ago\\Desktop\\google-hacking.pdf");
return 0;
}



有关联就直接打开了
[/Quote]
出现一个像CMD窗口一闪而过啊,,,没有打开文件
加载更多回复(11)

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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