VC中遍历目标进程中的模块 MFC代码
win32 也可以用 在下面代码进行修改转换就可以了
CString strModule; 可以换成 char* 但是MODULEENTRY32结构中的szModule是WCHAR
由于博主基础知识较差 所以使用的MFC里的Cstring函数
#include <Tlhelp32.h>

/***************************************************/
/* 函数: 查找目标进程中是否有指定模块信息
/* 参数:DWORD 目标进程ID
/* 参数:char* 指定模块名称 例如"ntdll.dll"
/* 返回: 无
/* 创建人: 日期 内容
/* 金胖胖 2015年2月25日 新建
/***************************************************/
bool CUIConsoleDlg::GetAllModules(DWORD dWProcessId,char* szModuleName)
{
CString strModule;
BOOL bFound = FALSE;
HANDLE hModuleSnap = NULL;
MODULEENTRY32 me32 = {0};
hModuleSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,dWProcessId);
if(hModuleSnap == INVALID_HANDLE_VALUE)
{
return false;
}
me32.dwSize = sizeof(MODULEENTRY32);
if(::Module32First(hModuleSnap, &me32))
{
do
{
strModule.Format("%s",me32.szModule);
if (!strcmp(szModuleName,strModule.GetBuffer())) // 如果找到则返回true
{
::CloseHandle(hModuleSnap);
return true;
}
}
while(::Module32Next(hModuleSnap,&me32));
}
::CloseHandle(hModuleSnap);
return false;
} /***************************************************/
/* 函数: 测试按钮函数
/* 返回: 无
/* 创建人: 日期 内容
/* 金胖胖 2015年2月25日 新建
/***************************************************/
void CUIConsoleDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
this->m_list.DeleteAllItems();
DWORD dwID = ::GetCurrentProcessId(); if (this->GetAllModules(dwID,"GameHelpMfcDll.dll"))
{
AfxMessageBox("找到模块了");
}
else
{
AfxMessageBox("没找到模块");
}

VC中遍历目标进程中的模块的更多相关文章

  1. vs2015重新安装后,项目属性中的目标框架中没有framework4.6.1

    vs2015重新安装后,安装完后 项目属性中的目标框架中没有framework4.6.1,  控制面板的程序和功能中存在该安装包. 原因: NDP461-DevPack-KB3105179-CHS.e ...

  2. OAF中 遍历HGrid组件中的所有VO行

    在HGrid组件中有如下所示的HeaderVO和LineVO 需要在头上的LOV中触发事件去更新行VO中的值,LOV事件的处理方法见 getLovParameter ,但是由于HGrid的特殊性,不能 ...

  3. JS中遍历EL表达式中后台传过来的Java集合

    前言:在我的项目里有这么一个情况,后台直接model.addAttribute()存储了一个对象,此对象内部有一个集合,前端JSP处理的方法正常情况下就是直接使用EL表达式即可.但是如果在JS中需要使 ...

  4. 【微信小程序】--小程序中循环遍历(包括js中遍历和wxml中的遍历)

    文章为博主原创,纯属个人见解,如有错误欢迎指出. 如需转载,请注明出处. 在js中遍历 for (var index in res.data.infos) { res.data.infos[index ...

  5. VC下遍历文件夹中的所有文件的几种方法

    一.使用::FindFirstFile和::FindNextFile方法 #include "StdAfx.h" #include <windows.h> #inclu ...

  6. 在PHP中遍历数据库表中的数据

    数据库中的数据: //1.分别将每一行的每一列遍历出来 //mysql_fetch_row()函数在每一次遍历后会将指针向后自动移动一个单位 while($row=mysql_fetch_row($r ...

  7. Mybatis 中遍历map 参数中的 list 和 array 属性

    原文:https://blog.csdn.net/liudongdong0909/article/details/51048835 问题在项目有中遇到批量删除操作时,需要根据两个属性去删除数据,其中一 ...

  8. js中遍历删除数组中的项(项目中遇到的问题解决)

    代码如下: for (var key=0;key<$scope.pageContent.messages.length;key++){ if($scope.pageContent.message ...

  9. C++中遍历读取数组中的元素

    答案来源:https://zhidao.baidu.com/question/187071815.html 对于字符数组str[N],判断方法有以下三种: 第一种:用库函数strlen 1 len = ...

随机推荐

  1. KindleRSS推送服务器搭建

    参考http://xcode.so/2010/12/google-gae-rss-to-kindle/这篇文章 1.首先尝试在本机搭建服务器直接推送到kindle 需要使用到kindlereader这 ...

  2. maven, sesame, openrdf, eclipse 的初始学习

    初始学习如下: http://rdf4j.org/sesame/tutorials/getting-started.docbook?view

  3. MySql中查询表中的列名

    例如我的数据库名为"example",使用 USE example; 确定使用example数据库.使用 show tables; 显示数据库中的所有表.使用 DESC perso ...

  4. jquery节点查询

    jQuery.parent(expr)           //找父元素 jQuery.parents(expr)          //找到所有祖先元素,不限于父元素 jQuery.children ...

  5. 近期Responsive web design项目经验分享

    关于meta   <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, user ...

  6. javascript闭包作用

    闭包的简单概念:闭包就是能够读取其他函数内部变量的函数. 函数内部的函数闭包的两个最大的作用读取函数内部的变量变量的值始终保持在内存中function A(){ var n=999; nAdd=fun ...

  7. log4Net使用的四个步骤

    第一步.引入程序集,并建立配置文件,放在根目录下config文件夹里.配置文件如下: <?xml version="1.0" encoding="utf-8&quo ...

  8. javascript中的一些基本方法收藏

    W3C DOM 什么是DOM,DOM其实就是把一个HTML或者XML等符合W3C标准的文档内容模拟成一个JAVA对象,这样才能给JAVA或者JS来操作.下面是JS中模拟出的内置DOM对象documen ...

  9. z-index 所遇问题

    document.getElementById('wx_share_img').style.cssText = "width:100%;height:100%;position:fixed; ...

  10. 关于popupwindow的两种实现方式

    http://104zz.iteye.com/blog/1685389 android PopupWindow实现从底部弹出或滑出选择菜单或窗口 本实例弹出窗口主要是继承PopupWindow类来实现 ...