MFC对打开的文件夹操作的求救!! 我在开始按钮里打开了一个文件夹,我想获取文件夹里德文件名字,请问怎么操作啊?请高手指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFileDialog *pOpenFile=new CFileDialog(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "文本文件(*.txt)|*.txt|所有文件 (*.*)|*.*||");ASSERT(pOpenFile!=NULL);if (pOpenFile->DoModal() == IDOK) strPathName = pOpenFile->GetPathName();//获取文件名 FindFirstFile/FindNextFile遍历对应的目录 BROWSEINFO bi; char name[MAX_PATH]; ZeroMemory(&bi,sizeof(BROWSEINFO)); bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd(); bi.pszDisplayName = name; bi.lpszTitle = "选择文件夹目录"; bi.ulFlags = BIF_RETURNFSANCESTORS; LPITEMIDLIST idl = SHBrowseForFolder(&bi); if(idl == NULL) return ; CString strDirectoryPath; SHGetPathFromIDList(idl, strDirectoryPath.GetBuffer(MAX_PATH)); strDirectoryPath.ReleaseBuffer(); if(strDirectoryPath.IsEmpty()) { return ;} if(strDirectoryPath.Right(1)!="\\") strDirectoryPath+="\\";我用这段已经打开了文件夹,就是姐下来不知道怎么做了,就是下面的不知道怎么定义了, POSITION mPos= 来获取第一个文件夹里德第一文件, while(mPos!=NULL) Input_File_Name.Add(放到一个字符数组里); //存储文件名字 void ShowDirSelectDlg(LPTSTR path){ //文件夹选择对话框 ASSERT(path!=NULL); BROWSEINFO bi; LPITEMIDLIST lpitem; memset(&bi,NULL,sizeof(BROWSEINFO)); bi.hwndOwner=NULL; bi.lpszTitle=_T("选择路径"); bi.ulFlags=BIF_NEWDIALOGSTYLE|BIF_STATUSTEXT; lpitem=SHBrowseForFolder(&bi); if (lpitem==NULL) { return ; } //获取选择路径 SHGetPathFromIDList(lpitem,path); }获取路径之后 用findfirstfile 和FindNextFile遍历文件夹 windows圣经求解 求助怎样将单文档应用程序转换为一个DLL供另外一个程序调用!!! 如何改变VisualAssist缓存路径? VC即将被淘汰 CHtmlView在执行Window.open时弹出的IE的窗口无法取得程序的session如何解决? 用什么方法能将.net 中注册的控件,在COM中调用。 高分求视频检测的代码 关于在VC中调用VB写的控件时的一个小问题(2日内结账)。 请指教。 active 空件的帮助文档在那里? 求高手!AOD调用SQL SERVER2005的存储过程,返回的结果集崩溃 基于HTMLVIEW的浏览器,如果想象IE 360浏览器等提示控件安装,如果实现?
| OFN_OVERWRITEPROMPT, "文本文件(*.txt)|*.txt|所有文件 (*.*)|*.*||");
ASSERT(pOpenFile!=NULL);
if (pOpenFile->DoModal() == IDOK)
strPathName = pOpenFile->GetPathName();//获取文件名
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
bi.pszDisplayName = name;
bi.lpszTitle = "选择文件夹目录";
bi.ulFlags = BIF_RETURNFSANCESTORS;
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if(idl == NULL)
return ;
CString strDirectoryPath;
SHGetPathFromIDList(idl, strDirectoryPath.GetBuffer(MAX_PATH));
strDirectoryPath.ReleaseBuffer();
if(strDirectoryPath.IsEmpty())
{ return ;}
if(strDirectoryPath.Right(1)!="\\")
strDirectoryPath+="\\";
我用这段已经打开了文件夹,就是姐下来不知道怎么做了,就是下面的不知道怎么定义了, POSITION mPos= 来获取第一个文件夹里德第一文件, while(mPos!=NULL)
Input_File_Name.Add(放到一个字符数组里); //存储文件名字
{
//文件夹选择对话框
ASSERT(path!=NULL); BROWSEINFO bi;
LPITEMIDLIST lpitem;
memset(&bi,NULL,sizeof(BROWSEINFO)); bi.hwndOwner=NULL;
bi.lpszTitle=_T("选择路径");
bi.ulFlags=BIF_NEWDIALOGSTYLE|BIF_STATUSTEXT;
lpitem=SHBrowseForFolder(&bi);
if (lpitem==NULL)
{
return ;
}
//获取选择路径
SHGetPathFromIDList(lpitem,path);
}
获取路径之后 用findfirstfile 和FindNextFile遍历文件夹