C++如何获取已打开文件的文件打开方式啊啊啊啊!急!!求帮助!!!求代码!解决问题了分都不是问题!谢谢大家!

小豆子马儿 2015-03-30 02:25:17
有的文件比如office系列,可以通过后缀名判断该文件是由微软office打开,还是wps打开的,但是有的文件比如JPEG格式的图片等,不管用那种图片查看器查看,其后缀名都是一样的,这种情况下如何用C\C++编程得到其是用什么软件打开的?
...全文
185 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-04-01
  • 打赏
  • 举报
回复
引用 4 楼 jinqianduoduo110 的回复:
谢谢赵4老师的回答,可是我不太明白某一特定文件类型的OpenWithList下的mrulist的数据很多时候并不是按照abcde这样的顺序的,比如他的顺序是efbdea,这个时候我该如何通过c去辨别该文件类型的默认打开软件呢?
猜也能猜出来efbdea表示最近使用过的顺序。
小豆子马儿 2015-04-01
  • 打赏
  • 举报
回复
快来人啊,帮帮忙啊~~~
小豆子马儿 2015-04-01
  • 打赏
  • 举报
回复
谢谢ri_aje的回答,问题是该怎样去问 windows,看看扩展名当前关联的默认程序是什么呢?
小豆子马儿 2015-04-01
  • 打赏
  • 举报
回复
谢谢赵4老师的回答,可是我不太明白某一特定文件类型的OpenWithList下的mrulist的数据很多时候并不是按照abcde这样的顺序的,比如他的顺序是efbdea,这个时候我该如何通过c去辨别该文件类型的默认打开软件呢?
赵4老师 2015-04-01
  • 打赏
  • 举报
回复
比如.txt [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.txt] @="txtfile" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell\open\command] @="C:\\WINDOWS\\notepad.exe %1"
小豆子马儿 2015-04-01
  • 打赏
  • 举报
回复
引用 7 楼 zhao4zhong1 的回复:
[quote=引用 4 楼 jinqianduoduo110 的回复:] 谢谢赵4老师的回答,可是我不太明白某一特定文件类型的OpenWithList下的mrulist的数据很多时候并不是按照abcde这样的顺序的,比如他的顺序是efbdea,这个时候我该如何通过c去辨别该文件类型的默认打开软件呢?
猜也能猜出来efbdea表示最近使用过的顺序。[/quote]可是我要的不是最近使用过的顺序,而且默认打开方式啊,最近一次使用的不一定是默认打开方式啊,还请您再指导指导,我是个大菜鸟,嘿嘿
赵4老师 2015-03-30
  • 打赏
  • 举报
回复
[HKEY_USERS\S-X-X-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXX\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.XXX] [HKEY_USERS\S-X-X-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXX\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.XXX\OpenWithList]
ri_aje 2015-03-30
  • 打赏
  • 举报
回复
这你得问 windows,看看扩展名当前关联的默认程序是什么。理论上讲,任何文件都可以用任何程序打开,只不过内容解读是否有意义的区别。
赵4老师 2015-03-30
  • 打赏
  • 举报
回复
assoc /? ftype /?

64,647

社区成员

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

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