// cmd_mfc.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <Windows.h>
#include <list>
#include <string>
#include <iostream>
#include <TlHelp32.h>
using namespace std;
void enum_process()
{
HANDLE hProcessSnap=NULL;
PROCESSENTRY32 pe32={0};
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==(HANDLE)-1)
{
cout<<"CreateToolhelp32Snapshot failed"<<endl;
}
pe32.dwSize=sizeof(PROCESSENTRY32);
if(Process32First(hProcessSnap,&pe32))
{
do
{
printf("%-20s ID:%-5d\n",pe32.szExeFile,pe32.th32ProcessID);
}
while(Process32Next(hProcessSnap,&pe32));
}
else
{
cout<<"出现意外错误!错误提示"<<endl;
}
CloseHandle(hProcessSnap);
}
//win api 遍历文件目录
void nr_enum_path(char *cpath){
list<string> dir_list;
string cdir,subdir;
WIN32_FIND_DATA wfd;
HANDLE hfd;
int r;
dir_list.push_back(string(cpath));
while(dir_list.size()) {
cdir = dir_list.back();
dir_list.pop_back();
SetCurrentDirectory(cdir.c_str());
hfd = FindFirstFile("*.*",&wfd);
if(hfd!=INVALID_HANDLE_VALUE) {
do{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(wfd.cFileName[0] != '.') {
// 合成完整路径名
subdir=cdir+"\\"+string(wfd.cFileName);
cout<<"push subdir: "<<subdir<<endl;
// 递归枚举子目录
dir_list.push_back(string(subdir));
}
}else{
printf("%s\\%s\n",cpath,wfd.cFileName);
// 病毒可根据后缀名判断
// 是否要感染相应的文件
}
}while(r=FindNextFile(hfd,&wfd),r!=0);
}
}//end while
}
//搜索目录文件
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);
}
SetCurrentDirectoryA(cdir);
}
int _tmain(int argc, _TCHAR* argv[])
{
//nr_enum_path("d:\\tomcat");
enum_process();
//enum_path("d:\\tomcat");
getchar();
return 0;
}
win32 api遍历文件,进程
最新推荐文章于 2024-07-04 19:59:15 发布