//
首先选择文件夹
void CXMLtoolDlg::OnBrowseInput()
... {
BROWSEINFO bf;
LPITEMIDLIST lpitem;
memset(&bf,0,sizeof BROWSEINFO);
bf.hwndOwner = this->m_hWnd;
bf.lpszTitle = "选择路径";
bf.ulFlags = BIF_RETURNONLYFSDIRS; //属性可自己选择
lpitem = SHBrowseForFolder(&bf);
if(lpitem==NULL) //如果没有选择路径则返回0
return ;
//如果选择了路径则复制路径,返回路径长度
SHGetPathFromIDList(lpitem, m_InputDir.GetBufferSetLength(MAX_PATH));
m_InputDir.ReleaseBuffer();
UpdateData(FALSE);
}
// 然后遍历文件夹(中的xml文件)
void CXMLtoolDlg::BrowseDir(CString strDir)
... {
//AfxMessageBox(strDir);
CFileFind ff;
CString szDir = strDir;
//HTREEITEM hSubItem;
if(szDir.Right(1) != "/") szDir += "/";
szDir += "*.*";
BOOL res = ff.FindFile(szDir);
while( res )
...{
res = ff.FindNextFile();
if(ff.IsDirectory() && !ff.IsDots())
...{
CString strPath = ff.GetFilePath();
//CString strTitle = ff.GetFileTitle();
//hSubItem = m_FileTree.InsertItem( strTitle, 0, 0,parent );
BrowseDir(strPath); // 递归调用
}
else if(!ff.IsDirectory() && !ff.IsDots())
...{
//CString strTitle = ff.GetFileTitle();
CString strTitle = ff.GetFilePath();
if (strTitle.Find(".xml")>-1 || strTitle.Find(".XML")>-1)
...{
//AfxMessageBox(strTitle);
SomeFuncXXX(strTitle); // 处理文件
}
//m_FileTree.InsertItem( strTitle, 0, 0, parent );
}
}
ff.Close();
}
void CXMLtoolDlg::OnBrowseInput()
... {
BROWSEINFO bf;
LPITEMIDLIST lpitem;
memset(&bf,0,sizeof BROWSEINFO);
bf.hwndOwner = this->m_hWnd;
bf.lpszTitle = "选择路径";
bf.ulFlags = BIF_RETURNONLYFSDIRS; //属性可自己选择
lpitem = SHBrowseForFolder(&bf);
if(lpitem==NULL) //如果没有选择路径则返回0
return ;
//如果选择了路径则复制路径,返回路径长度
SHGetPathFromIDList(lpitem, m_InputDir.GetBufferSetLength(MAX_PATH));
m_InputDir.ReleaseBuffer();
UpdateData(FALSE);
}
// 然后遍历文件夹(中的xml文件)
void CXMLtoolDlg::BrowseDir(CString strDir)
... {
//AfxMessageBox(strDir);
CFileFind ff;
CString szDir = strDir;
//HTREEITEM hSubItem;
if(szDir.Right(1) != "/") szDir += "/";
szDir += "*.*";
BOOL res = ff.FindFile(szDir);
while( res )
...{
res = ff.FindNextFile();
if(ff.IsDirectory() && !ff.IsDots())
...{
CString strPath = ff.GetFilePath();
//CString strTitle = ff.GetFileTitle();
//hSubItem = m_FileTree.InsertItem( strTitle, 0, 0,parent );
BrowseDir(strPath); // 递归调用
}
else if(!ff.IsDirectory() && !ff.IsDots())
...{
//CString strTitle = ff.GetFileTitle();
CString strTitle = ff.GetFilePath();
if (strTitle.Find(".xml")>-1 || strTitle.Find(".XML")>-1)
...{
//AfxMessageBox(strTitle);
SomeFuncXXX(strTitle); // 处理文件
}
//m_FileTree.InsertItem( strTitle, 0, 0, parent );
}
}
ff.Close();
}