这个枚举进程以及模块的代码编译通过,却输出为空,为什么呢?
#include <windows.h>
#include <stdio.h>
#include "tlhelp32.h"
BOOL GetProcessList()
{
HANDLE hProcessSnap;
HANDLE hModuleSnap;
BOOL bRet=FALSE;
BOOL bModule=FALSE;
PROCESSENTRY32 pe32={0};
MODULEENTRY32 me32={0};
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
bRet=Process32First(hProcessSnap,&pe32);
while(bRet)
{
printf("%s\n",pe32.szExeFile);
hModuleSnap=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,0);
bModule=Module32First(hModuleSnap,&me32);
while(bModule)
{
printf("\t%s\n",me32.szExePath);
}
bRet=Process32Next(hProcessSnap,&pe32);
}
CloseHandle(hProcessSnap);
CloseHandle(hModuleSnap);
return TRUE;
}
void main()
{
GetProcessList();
}