遍历程序使用的动态链接库(dll), 首先需要遍历所有进程, 匹配进程名称与进程ID, 然后根据进程名称, 输出所有使用的库(dll).
示例中Image.exe是预先启动的程序. 代码包含遍历进程的代码, 和输出动态链接库(dll)的代码.
代码:
/*
* main.cpp
*
* Created on: 2014.06.08
* Author: Spike
*/
/*vs 2012*/
#include
#include
#include
#include
#include
#include
using namespace std;
bool traverseProcesses (std::map& _nameID)
{
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == INVALID_HANDLE_VALUE) {
std::cout (name, id)); //字典存储
bResult = Process32Next(hProcessSnap,&pe32);
}
CloseHandle(hProcessSnap);
return true;
}
bool traverseModels(const std::string _name)
{
DWORD dwId;
/*printf("Please enter the name of process to traverse processmodels:");
std::string name;
cin >> name;*/
std::map nameID;
if (!traverseProcesses(nameID)) { //变量进程
cout
输出:
作者:csdn博客 Spike_King