#include <Windows.h>
#include <Commdlg.h>
int main() {
OPENFILENAMEA ofn;
char szFileName[MAX_PATH] = "NewFile.txt";
// 初始化 OPENFILENAME 结构
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = NULL; // 父窗口句柄,可以是主窗口或者对话框的句柄
ofn.lpstrFilter = "Text Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0";
ofn.lpstrFile = szFileName;
ofn.nMaxFile = sizeof(szFileName);
ofn.Flags = OFN_EXPLORER | OFN_OVERWRITEPROMPT;
// 显示保存文件对话框
if (GetSaveFileNameA(&ofn)) {
// 用户选择了一个文件名,文件名存储在 szFileName 中
// 可以在这里处理选择的文件名
printf("Selected File: %s\n", szFileName);
} else {
// 用户点击了取消按钮或者关闭对话框
printf("Save operation canceled.\n");
}
return 0;
}
在这个示例中,GetSaveFileNameA 函数用于显示一个保存文件对话框,用户可以指定一个文件名。如果用户选择了文件名,选定的文件名将存储在 szFileName 缓冲区中。你可以根据实际需要调整对话框的参数和处理选择文件名的逻辑。
转载请注明出处:http://www.zyzy.cn/article/detail/25004/Win32 API/Commdlg.h/GetSaveFileNameA