BOOL EnumDllFiles(DWORD dwSetupID,CString FilePath,CString arry[],int length)
{
CString NextPath,tem,id;
CFileFind FileFind;
WIN32_FIND_DATA FindFileData={0};
HANDLE hFind=NULL;
BOOL bret=TRUE;
int len;
int a=strlen((LPCTSTR)FilePath);
if (!hFind)
{
tem=FilePath +"//*";
hFind=FindFirstFile((LPCTSTR)tem,&FindFileData);
}
if (!hFind)
return FALSE;
while (bret)
{
if(FindFileData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
if(!(strcmp(FindFileData.cFileName,".")==0||strcmp(FindFileData.cFileName,"..")==0))
{
NextPath=FilePath +"//"+FindFileData.cFileName;
EnumDllFiles(dwSetupID,NextPath,arry,length);
}
}
else
{
if (stricmp(FindFileData.cFileName,"pagefile.sys") !=0)
{
id=FilePath +"//"+FindFileData.cFileName;
len = id.GetLength();
if (len>4)
{
int nIndex = id.ReverseFind('.');
tem=id.Right(len-nIndex);
for (int i=0;i<length;i++)
{
if (tem.CompareNoCase(arry[i])==0)
{
//SetDlgItemText(IDC_STATIC_TITLE,"");
//SetDlgItemText(IDC_STATIC_TITLE,id);
InsertProgItem(dwSetupID,id);
break;
}
}
}
}
}
bret=FindNextFile(hFind,&FindFileData);
}
FindClose(hFind);
return TRUE;
}