未处理的例外:
System.IndexOutOfRangeException:索引超出了数组的范围。
在C:\ Users \ Seif \中的HPLog.MultiLevelPointer.ProcessMem.Main(String [] args) Documents \ Visual Studio 2010 \ Projects \ HPLog \ HPLog \ Program.cs:第61行 按任意键继续 。 。
Line61 System.Diagnostics.Process[] Client =
System.Diagnostics.Process.GetProcessesByName("Client");
ProcessMemoryReader preader = new ProcessMemoryReader();
preader.ReadProcess = Client[0];
preader.OpenProcess();
答案 0 :(得分:4)
如果您甚至没有提出问题,请回答:
System.Diagnostics.Process[] Client =
System.Diagnostics.Process.GetProcessesByName("Client");
ProcessMemoryReader preader = new ProcessMemoryReader();
if (Client != null && Client.Length > 0) {
preader.ReadProcess = Client[0];
preader.OpenProcess();
}
else {
// Error handling...
}
答案 1 :(得分:0)
尝试这样的事情:
try
{
System.Diagnostics.Process Client = System.Diagnostics.Process.GetProcessesByName("Client")[0];
}
catch (IndexOutOfRangeException e)
{
System.Diagnostics.Process Client = null;
}
然后在使用Client之前,请确保它不为null
另外,您确定'客户'是实际的流程名称吗?
答案 2 :(得分:0)
在使用数组之前,您应该测试它是null
还是包含任何项目。因为您总是有可能不存在具有该名称的进程。