阅读背景:

【进程处理】3,MFC枚举当前进程所有模块

来源:互联网 

1,代码


        PBYTE pb = NULL;
	MEMORY_BASIC_INFORMATION mbi;
	while (VirtualQuery(pb,&mbi,sizeof(mbi)) == sizeof(mbi))
	{
		TCHAR szModeName[MAX_PATH] = {0};
		if (mbi.State == MEM_FREE)
		{
			mbi.AllocationBase = mbi.BaseAddress;
		}
		if (mbi.AllocationBase == AfxGetModuleState()->m_hCurrentInstanceHandle || 
			mbi.AllocationBase != mbi.BaseAddress ||
			mbi.AllocationBase == NULL)
		{
			
		}
		else
		{
			GetModuleFileName((HINSTANCE)mbi.AllocationBase,szModeName,_countof(szModeName));
			if (_tcslen(szModeName)>0)
			{
				EASY_LOG(szModeName);
			}
		}
		pb += mbi.RegionSize;
	}        PBYTE pb = NULL;
	MEMORY_B



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: