C++.模块1
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++.模块1,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1745字,纯文字阅读大概需要3分钟。
内容图文
![C++.模块1](/upload/InfoBanner/zyjiaocheng/639/8bc40067495c40b4a96c62f356ef3fcd.jpg)
#include <TlHelp32.h>
#include <vector>
BOOL TraversalModule1(OUT std::vector<MODULEENTRY32> &vec, IN DWORD dwPid)
{
/************************************************************************/
/*
typedef struct tagMODULEENTRY32
{
DWORD dwSize;
DWORD th32ModuleID; // This module
DWORD th32ProcessID; // owning process
DWORD GlblcntUsage; // Global usage count on the module
DWORD ProccntUsage; // Module usage count in th32ProcessID's context
BYTE * modBaseAddr; // Base address of module in th32ProcessID's context
DWORD modBaseSize; // Size in bytes of module starting at modBaseAddr
HMODULE hModule; // The hModule of this module in th32ProcessID's context
char szModule[MAX_MODULE_NAME32 + 1];
char szExePath[MAX_PATH];
} MODULEENTRY32;
*/
/************************************************************************/
vec.clear();
try
{
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPid);
if (hSnap != INVALID_HANDLE_VALUE)
{
MODULEENTRY32 item;
item.dwSize = sizeof(item);
if (Module32First(hSnap, &item))
{
do
{
vec.push_back(item);
} while (Module32Next(hSnap, &item));
}
CloseHandle(hSnap);
}
}
catch (...)
{
OutputDebugStringA(__FUNCTION__);
return 0;
}
return vec.size() > 0;
}
#include <iostream>
int main()
{
wcout.imbue(locale("chs"));
STARTUPINFO si = { 0 };
si.cb = sizeof(si);
PROCESS_INFORMATION pi = { 0 };
BOOL b = CreateProcess(_T("C:/Using/winmine.exe"), 0, 0, 0, 0, 0, 0, 0, &si, &pi);
if (b)
{
Sleep(1000);
std::vector<MODULEENTRY32> vec;
TraversalModule1(vec, pi.dwProcessId);
for each (MODULEENTRY32 var in vec)
{
printf("%08X %08X", var.modBaseAddr, var.modBaseSize);
printf(" %S", var.szExePath);
printf("\r\n");
}
TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS, 0, pi.dwProcessId), 0);
}
return 0;
}
内容总结
以上是互联网集市为您收集整理的C++.模块1全部内容,希望文章能够帮你解决C++.模块1所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。