注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

遍历进程中各个模块  

2011-10-30 17:24:51|  分类: C/C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <TLHELP32.H>

int main(int argc, char* argv[])
{
DWORD dwId;
printf("请输入您要获取模块的进程ID号: \n");
scanf("%u",&dwId);
BOOL bRet = FALSE;
//给输入的进程中的所有模块拍一个快照
HANDLE hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,dwId);
if (hModuleSnap == INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot调用失败!\n");
return -1;
}

MODULEENTRY32 module32;
//在使用这个结构之前,先设置它的大小
module32.dwSize = sizeof(module32);
//遍历模块快照,轮流显示每个模块的信息
BOOL bResult = Module32First(hModuleSnap,&module32);
while(bResult)
{
//这里得到一个模块就是进程的主模块,也就是进程对应的可执行程序,所以使用此方法也可以得到进程文件路径
printf("模块名称: %s\n",module32.szModule);
printf("模块路径 %s\n\n",module32.szExePath);
bResult = Module32Next(hModuleSnap,&module32);
}

CloseHandle(hModuleSnap);
return 0;
}

  评论这张
 
阅读(383)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017