0

我试图用它们各自的图标列出我所有的进程,我得到的图标是这样的:

Icon ico = Icon.ExtractAssociatedIcon(process.MainModule.FileName);

但我收到此错误“32 位进程无法访问 64 位进程的模块”。

有什么解决办法吗?

4

2 回答 2

1

如果我理解得很好,那么您需要为 AnyCPU Platform 编译您的应用程序

我假设显示消息是因为您为 x86 编译应用程序,因此发出的代码是 32 位代码。该消息清楚地表明 32 位应用程序无法访问 64 位模块。

如果您使用 AnyCPU 编译,那么您的代码将在 64 位操作系统上作为 64 位代码执行。
这应该允许访问 64 位进程以及 32 位进程。

于 2013-05-12T13:46:19.087 回答
0

检查这个线程,它可能会帮助你

在 C# 中访问 Process.MainModule.FileName 时如何避免 Win32 异常?

于 2013-05-12T14:24:37.747 回答