MFC中CFileDialog打开一个文件对话框
构造函数(PS:摘录自百度百科)
CFileDialog(
BOOL bOpenFileDialog,//TRUE则显示打开文件对话框,FALSE则显示保存文件对话框。
LPCTSTR lpszDefExt = NULL,//指定默认的文件扩展名。
LPCTSTR lpszFileName = NULL,//指定默认的文件名。
DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,//指明一些特定风格。
LPCTSTR lpszFilter = NULL,//是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。
CWnd* pParentWnd = NULL//为父窗口指针。
);
使用背景
写一个DLL注入的一个小工具。为了程序的通用性,所以就使用了CFileDialog来获取DLL的绝对路径。
使用介绍
//定义一个局部变量。
//如果定义在源文件中直接定义全局变量,运行时可能会发生异常。
//PS:本人在visual2012是这样的,编译没问题,运行时直接提示异常,然后程序终止。不过没有在头文件中测试。
CFileDialog file(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,L"动态连接库(*.dll)|*.dll||");
//打开对话框,并判断用户是否确认。PS:用户有可能取消,或直接关闭对话框。此处取反,目的为了阻止后面部分代码执行。
if(file.DoModal() != IDOK) return;
//获取文件名称
file.GetFileName();
//获取文件路径,此处只想说明下file.GetPathName()的返回值类型。
CString filePath = file.GetPathName();
PS:本人刚开始学习VC++,写的不对的地方欢迎各位大牛指点。