当前位置:编程学习 > C#/ASP.NET >>

请教:在64位操作系统中64位进程如何枚举32位进程中加载的模块?

如题:
操作系统为Windows7 x64,主进程为x64,目标进程为x86;
由于Win64系统会模拟x86的环境来运行x86的程序,使用的组件为Wow64xxx.dll等;
所以在使用如下代码进行枚举得到的只有Wow64xxx.dll等,得不到真正加载的组件;
代码:
Process proc = Process.GetProcessById(targetProcessId);
for (int i = 0; i < proc.Modules.Count; i++)
{
    //此处在x64环境中无法获得x86进程中的组件
    Console.WriteLine(proc.Modules[i].ModuleName);
}
问题:如何获得x86目标进程中真正加载的组件?
请不吝赐教! --------------------编程问答-------------------- 求解释,求回复。。。 --------------------编程问答-------------------- 结贴率是亮点 --------------------编程问答-------------------- 这个是首发帖。。。 --------------------编程问答-------------------- 太底层的东西c#不好实现,你查一下api看 --------------------编程问答-------------------- 用API的结果和上述代码得到的结果一致。。。 --------------------编程问答-------------------- Wow64xxx.dll就是真正加载的组件.你还要什么?在深入就直接进内核了. --------------------编程问答-------------------- 说目标的x86进程中加载了其他依赖的组件比如A.dll通过上述的方式没有办法获取到。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,