zoukankan      html  css  js  c++  java
  • VC中遍历目标进程中的模块



    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("没找到模块");
    	}
    
  • 相关阅读:
    spark调度器FIFO,FAIR
    elasticsearch5.6.8 创建TransportClient工具类
    elasticsearch TransportClient bulk批量提交数据
    java 参数来带回方法运算结果
    idea上传代码到git本地仓库
    2020-03-01 助教一周小结(第三周)
    2020-02-23 助教一周小结(第二周)
    2020-02-16 助教一周小结(第一周)
    寻找两个有序数组的中位数
    无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/-jpp/p/4299719.html
Copyright © 2011-2022 走看看