获取打开文件名在默认目录打开'Computer'可能吗?
GetOpenFileName open at default directory 'Computer' possible?
我正在使用GetOpenFileName
以C++打开文件,是否可以使用lpstrInitialDir
在"计算机"虚拟位置设置初始目录?
谢谢 李。
这在GetOpenFileName
中是不可能的,因为您希望使用的位置不是文件系统的一部分。相反,它是更广泛的 shell 命名空间的一部分。
如果您查看GetOpenFileName
的文档,您会发现它已被通用项对话框取代(实际上是 10 多年前)。这些对话框允许您将初始文件夹指定为 shell 项。
如果需要支持早于 Vista 的旧版 Windows(其中IFileDialog
不可用),请尝试指定命令行管理程序文件夹 GUID。例如,My Computer
GUID 是20D04FE0-3AEA-1069-A2D8-08002B30309D
。您可以像这样指定它:
ofn.lpstrInitialDir = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
但是,值得注意的是,由于行为变化,此方法几乎注定要在Windows 7及更高版本上失败
因此,您最好在Vista及以后的版本上使用IFileDialog
。
相关文章:
- 从命令行c++发送文本文件名
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 如何在CPP的给定目录中列出UTF编码的文件名?
- 在Visual Studio 2019中保存时ReadDirectoryChangesW文件名的问题
- C++:在Windows中浏览名称中带有点的文件名
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 不带预处理器的调用方法/文件的文件名/行号
- 在 C++ 中为文件名添加时间戳
- 为什么当我在 std::string 中打开文件名的 fstream 时出现"no matching function"错误?
- 如何将文件名作为参数传入并正确打开?
- 如何在目录及其子文件夹中构建文件名字符串向量?
- 要求用户输入C++输出文件名
- 从Arduino SD卡模块到Array的文件名
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- C++ 从变量导入文件名
- 从 Makefile 中的 $@ 获取文件名
- VSCode C++调试文件名中包含中文字符的文件时插件损坏
- 获取打开文件名在默认目录打开'Computer'可能吗?