这是必须通过路径返回进程到可执行文件的方法。 但是,当我尝试调用此方法时,我有一个异常Win32Exception“访问被拒绝”。 那么怎么做呢?
private static List<Process> GetProcessByFilename(string filename)
{
List<Process> processes = new List<Process>();
foreach (var process in Process.GetProcesses())
{
if (process.MainModule.FileName == filename)
{
processes.Add(process);
}
}
return processes;
}
答案 0 :(得分:4)
尝试获取Win32Exception
核心系统进程时,您将获得MainModule
(请参阅comments on MSDN)。你应该处理它。
答案 1 :(得分:1)
如消息所示,您有“拒绝访问”问题。您的Windows Credential可能没有必要的权限来进行所需的Win32调用..
答案 2 :(得分:1)
这个异常到底在哪里?首先,不允许您查询所有Win32进程路径,有些没有,最后您可能运行时访问权限不足。
要知道哪种情况适用于您的情况,我需要知道您的代码路径中的哪个位置获得异常,以及哪个进程(如果不是全部)抛出异常。