CFileDialog fileDialog(
FALSE, // We are save as file dialog.
_T("*.txt"), // Default save as text format.
_T("hello"),
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
_T("Text Files (*.*)|*.txt|Excel Files (*.xls)|*.xls|Excel Details Files|(*.xls)||"),
this);
// Returns me "xls".
const CString fileExtension = fileDialog.GetFileExt();
// Returns me "Excel Files" or "Excel Details Files"
???
获取文件扩展名说明的正确方法是什么?
答案 0 :(得分:1)
您正在尝试自行检索您发送给API的说明...?您可以使用成员CFileDialog :: GetOFN从内部OPENFILENAME结构中检索它,并查看结构的lpstrFilter成员,但您必须自己解析该字符串。
但API SHGetFileInfo应该能够检索操作系统的已注册文件类型描述。将“* .xls”(或任何你想要的扩展名)传递给它。