今天小研究了一下GetFolderPath。开始不明白这个Public的函数为什么我调用的时候总出错,后来在MSDN上查到如下内容:
The dialog box must have been created with the OFN_EXPLORER style; otherwise, the method will fail with an assertion.You can call this method only while the dialog box is being displayed. After the dialog box has been closed, this function will no longer work, and the method will fail with an assertion.
大致内容内容可以理解为: 只有当调用的窗口显示的时候,才可以调用这个函数,否则将会出错。
解决方案:
filename = dlg.GetPathName();
int path_num=HmmFile.ReverseFind('//'); //从右边找
folderpath = filename.Left(path_num);