c# ListView填充当前进程信息:PID/进程名/路径错误,未编译为x64

本文关键字:错误 路径 进程名 x64 编译 PID 填充 ListView 进程 信息 | 更新日期: 2023-09-27 18:08:12

我正在运行Windows 7 x64机器,当我不编译x64时,我得到一个异常,我的ListView只是填充了前两个非x64进程。

这是我不能访问一个64位进程的MainModule属性来获得它的完整路径。

foreach(Process p in listaProcessi) 
{
    tempItem = new ListViewItem(p.Id.ToString());
    tempItem.SubItems.Add(p.ProcessName);
    tempItem.SubItems.Add(p.MainModule.FileName);
    processiListView.Items.Add(tempItem);
}

我仍然可以使它为x64编译工作,但假设我只想为x86编译,我如何避免得到异常?

1) 是否有其他方法可以发现这些进程的路径?

2)我可以写一行"你不能从x86应用程序获得x64进程路径",但我仍然不必遇到异常。我该如何预防呢?我是否可以检查一个特定信息的进程,以便我可以替换文本并避免访问MainModule ?

谢谢。

c# ListView填充当前进程信息:PID/进程名/路径错误,未编译为x64

32位进程不能访问64位进程的模块

因此,必须对AnyCpu进行编译,以便在x86和x64环境下完全工作。