#include?"StdAfx.h"
#include?"FindFile.h"
//这里只是测试函数
//一般我们遍历文件都是有目的?同这个写类似病毒一些东西
void?Test(WIN32_FIND_DATA?*fd)
{
MessageBox(0,fd->cFileName,0,0);
}
BOOL?FindFile(char?*pFileName,?char?*?FindFileType)
{
WIN32_FIND_DATA?fd;
HANDLE?hFind;
char?Type[10]={0};
sprintf(Type,".%s",FindFileType);
//HANDLE?hFindType;//查找对应文件类型
char?FileName[260]={0};
sprintf(FileName,"%s\\*.*",pFileName);
ZeroMemory(&fd,sizeof(fd));
if(0?==?strlen(FileName))
{
MessageBox(0,"文件名不能为空",0,0);
return?FALSE;
}
else
{
hFind?=?FindFirstFile(FileName,&fd); if(INVALID_HANDLE_VALUE==hFind) { return?FALSE; } else {do?
{
//查找文件名字中有没与?.文件后缀注意要加点?因为点在文件名字是特殊符号
//一般是不可以用的。但可以用特殊方法来添加。
//U?盘免疫就是用这中方法来?来建立一个不能用普通方法删除autorun.inf的文件夹?
if(strstr(fd.cFileName,Type))
{
Test(&fd);
}
else
{
//当该文档是文件时候进行下列操作
if(fd.dwFileAttributes?==?FILE_ATTRIBUTE_DIRECTORY) { //除掉?.?表示当前目录?和..上一个目录?这个在dos?中可以看到 if(strcmp(fd.cFileName,".")!=0&&strcmp(fd.cFileName,"..")!=0) { char?Temp[256]={0}; sprintf(Temp,"%s\\%s",pFileName,fd.cFileName); FindFile(Temp,FindFileType); } }}
//继续查找下一个文件
}?while?(FindNextFile(hFind,&fd));
}}
re