void CModiProDlg::ModifyAttri(CString strPath)
{
CString str=strPath;
if(strPath.Right(1)!=_T("\\"))
strPath+=_T("\\");
strPath=strPath+_T("*.*");
HANDLE hFind;
WIN32_FIND_DATA fd; if((hFind=::FindFirstFile(strPath,&fd))!=INVALID_HANDLE_VALUE)
{
if((fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))
{
CString strComp=(LPCTSTR)&fd.cFileName;
if((strComp!=_T("."))&&(strComp!=_T("..")))
{
CString strNewPath=str+_T("\\")+fd.cFileName;
//MessageBox(strNewPath);
ModifyAttri(strNewPath);
}
}
else
{
CString strFileName;
strFileName=str+_T("\\")+fd.cFileName;
DWORD dwFileAttri;
MessageBox(strFileName);
dwFileAttri=::GetFileAttributes(strFileName);
dwFileAttri|=~FILE_ATTRIBUTE_READONLY;
::SetFileAttributes(strFileName,dwFileAttri);
}
while(::FindNextFile(hFind,&fd))
{
if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
CString strComp=(LPCTSTR)&fd.cFileName;
if((strComp!=_T("."))&&(strComp!=_T("..")))
{
CString strNewPath=str+_T("\\")+fd.cFileName;
MessageBox(strNewPath);
ModifyAttri(strNewPath);
}
}
else
{
CString strFileName;
strFileName=str+_T("\\")+fd.cFileName;
MessageBox(strFileName);
DWORD dwFileAttri;
dwFileAttri=::GetFileAttributes(strFileName);
dwFileAttri|=~FILE_ATTRIBUTE_READONLY;
::SetFileAttributes(strFileName,dwFileAttri);
}
}
::FindClose(hFind);
}
}
{
CString str=strPath;
if(strPath.Right(1)!=_T("\\"))
strPath+=_T("\\");
strPath=strPath+_T("*.*");
HANDLE hFind;
WIN32_FIND_DATA fd; if((hFind=::FindFirstFile(strPath,&fd))!=INVALID_HANDLE_VALUE)
{
if((fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY))
{
CString strComp=(LPCTSTR)&fd.cFileName;
if((strComp!=_T("."))&&(strComp!=_T("..")))
{
CString strNewPath=str+_T("\\")+fd.cFileName;
//MessageBox(strNewPath);
ModifyAttri(strNewPath);
}
}
else
{
CString strFileName;
strFileName=str+_T("\\")+fd.cFileName;
DWORD dwFileAttri;
MessageBox(strFileName);
dwFileAttri=::GetFileAttributes(strFileName);
dwFileAttri|=~FILE_ATTRIBUTE_READONLY;
::SetFileAttributes(strFileName,dwFileAttri);
}
while(::FindNextFile(hFind,&fd))
{
if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
CString strComp=(LPCTSTR)&fd.cFileName;
if((strComp!=_T("."))&&(strComp!=_T("..")))
{
CString strNewPath=str+_T("\\")+fd.cFileName;
MessageBox(strNewPath);
ModifyAttri(strNewPath);
}
}
else
{
CString strFileName;
strFileName=str+_T("\\")+fd.cFileName;
MessageBox(strFileName);
DWORD dwFileAttri;
dwFileAttri=::GetFileAttributes(strFileName);
dwFileAttri|=~FILE_ATTRIBUTE_READONLY;
::SetFileAttributes(strFileName,dwFileAttri);
}
}
::FindClose(hFind);
}
}
解决方案 »
- mfc关于单选框与列表框的问题
- 我想在vc中当选择菜单项时,弹出一个类似对话框的控件(该控件只要能单独设计然后加到程序中就可以),然后把它放到CFormView类中显示出来,请问用什么控件比较
- (菜鸟)请问各位大侠,怎样学习windows编程,需要看什么书籍???
- 关于控件事件不响应的问题
- 如何使用二围的向量
- 小弟 请教各位高手问题?
- 请具体解释一下__stdcall的作用
- 如何正确的使用AddRef()和Release()?
- 提个问,我是搞不定了,请高手看看:在Explorer中加入自己的一个图标.......
- 请问如何用Brush在按钮上刷背景?
- 谁有DriverStudio2.6下载?请SHARE一下,非常感谢,200分送上
- 在线等候!怎样用HTTP发手机短信?高分相赠!
{
CFileFind finder;
BOOL bWork = finder.FindFile(strTemp);
while(bWork)
{
bWork = finder.FindNextFile();
// 忽略.和 ..
if(finder.IsDirectory())
{
if(finder.IsDots())
continue;
ModifyAttri(finder.GetFilePath());
}
else
{
CString s1 = finder.GetFilePath();
// 操作
}
}
}
finder.Close();
}