std::string str1 = "C:\\Users\\user\\Desktop\\Notes";
ShellExecuteA(NULL, "open", str1.c_str(), NULL, NULL, SW_SHOWNORMAL);
密码不值钱。
我在一个DJ程序中有一个.mp3
。在其中一个标签中,它保存了相关视频的文件名。所有视频都是.mpeg
。
使用DJ软件的API,我可以抓取标签。我知道视频文件在哪里(都在一个文件夹中)。我可以用ShellExecuteA()
打开视频,因为虽然标签可能不包含完整的filename+extension
,但我知道扩展名。
现在的问题是-我想开始使用.avi
或.h254
或其他什么,我不知道扩展名了,ShellExecuteA()
需要一个扩展名。
我能怎么办?
我的猜测是:
- 如果
ShellExecuteA()
返回一个错误(不确定它是否返回),如果它返回,我可以强制执行它;是.mpeg
吗?是.avi
吗?还是.h264
?等等...... - 在文件名缺少扩展名的已知位置进行搜索,然后获取完整的文件名及其找到的任何内容(所有文件名都是唯一的,即使不包括扩展名)。
我知道我可以在.mp3
标记中添加扩展,但是有一些原因使我不愿意这样做。
1条答案
按热度按时间wwtsj6pe1#
ShellExecute
不需要扩展名。它需要确切的文件名。如果扩展名在Windows资源管理器中隐藏,请使其可见。如果由于其他原因不知道扩展名,请使用带有通配符*
(Notes*
)的FindFirst
查找全名。