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("没找到模块");
    	}
    
  • 相关阅读:
    hdu 4825 Xor Sum (01 Trie)
    hdu 5877 Weak Pair (Treap)
    bzoj 1861: [Zjoi2006]Book 书架 (splay)
    bzoj 1503: [NOI2004]郁闷的出纳员 (splay)
    hihocoder#1333 : 平衡树·Splay2 (区间操作)
    「BZOJ1251」序列终结者 (splay 区间操作)
    二进制运算符的相关运算
    Bzoj 1085: [SCOI2005]骑士精神 (dfs)
    Bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)
    Bzoj 1088: [SCOI2005]扫雷Mine (DP)
  • 原文地址:https://www.cnblogs.com/-jpp/p/4299719.html
Copyright © 2011-2022 走看看