两种方法枚举进程加载的DLL
枚举进程加载的模块
(1)控制台实现方法
命令:tasklist -m >d:\\1.txt
这样就会把系统当前运行的程序所加载的DLL全部打印到1.txt中。
也可以
#include <PROCESS.H>
void main()
{
system("tasklist -m >d:12343.txt");
}
另外也可以通过 CreateProcess实现
#include <WINDOWS.H>
int main()
{
static STARTUPINFOW SI={sizeof(STARTUPINFOW)};
PROCESS_INFORMATION PI;
static wchar_t cmdline[]=L"cmd.exe /c tasklist -m>>c:\\a.txt";
CreateProcessW(0, cmdline,NULL, NULL,
FALSE,NORMAL_PRIORITY_CLASS,NULL, NULL,&SI,&PI);
return 0;
}
(2)使用winapi实现
HANDLE WINAPI CreateToolhelp32Snapshot( //创建所有进程的快照
__in DWORD dwFlags,//标志
__in DWORD th32ProcessID//进程的pid;
);
BOOL WINAPI Module32First(
__in HANDLE hSnapshot,//