打开文件对话框
打开文件对话框,主要用到GetOpenFileName函数,参数为指向OPENFILENAME结构体的指针
1 BOOL GetOpenFileName( 2 LPOPENFILENAME Arg1 3 );
使用方法如下:
1 #include <windows.h> 2 #include<iostream> 3 4 int main() 5 { 6 OPENFILENAME ofn{}; 7 TCHAR szFile[260]{}; //文件名缓冲区 8 9 ofn.lStructSize = sizeof(ofn); 10 ofn.hwndOwner = NULL; //设置对话框拥有者句柄 11 ofn.lpstrFile = szFile; //设置文件名缓冲区 12 ofn.lpstrFile[0] = ‘\0‘; 13 ofn.nMaxFile = sizeof(szFile); //设置所选文件路径缓冲区最大长度 14 ofn.lpstrFilter = L"全部文件\0*.*\0文本文件\0*.txt\0"; //指定文件类型 15 ofn.nFilterIndex = 1; //文件类型选中的索引 从1开始 16 ofn.lpstrFileTitle = NULL; //选中的文件名(不包含路径,包含扩展名) 17 ofn.nMaxFileTitle = 0; //选中的文件名缓冲区最大长度 18 ofn.lpstrInitialDir = NULL; //初始路径 19 ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; //用于初始化对话框的标志位 20 21 22 if (GetOpenFileName(&ofn) == TRUE) 23 std::wcout << ofn.lpstrFile << std::endl; 24 }
推荐阅读:
GetOpenFileName API
https://docs.microsoft.com/en-us/windows/win32/api/commdlg/nf-commdlg-getopenfilenamea