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);
}
}