#include <windows.h>
#include <stdio.h>
void enum_path(char *cpath){
WIN32_FIND_DATA wfd;
HANDLE hfd;
char cdir[MAX_PATH];
char subdir[MAX_PATH];
int r;
GetCurrentDirectory(MAX_PATH,cdir);
SetCurrentDirectory(cpath);
hfd = FindFirstFile("*.*",&wfd);
if(hfd!=INVALID_HANDLE_VALUE) {
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(wfd.cFileName[0] != '.') {
// 合成完整路径名
sprintf(subdir,"%s//%s",cpath,wfd.cFileName);
// 递归枚举子目录
enum_path(subdir);
}
}else{
printf("%s\\%s\n",cpath,wfd.cFileName);
// 病毒可根据后缀名判断是
// 否要感染相应的文件
}
}while(r=FindNextFile(hfd,&wfd),r!=0);
}
SetCurrentDirectory(cdir);
}
int main(){
enum_path("D:\\");
return 0;
}windows api 读取目录下所有文件
最新推荐文章于 2024-08-28 09:00:00 发布
本文提供了一个使用C语言在Windows环境下遍历指定目录及其子目录下所有文件的例子。通过调用Windows API函数,该程序可以获取每个文件的详细信息,并能够递归地进入子目录继续查找。

1469

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



