索引超出了数组systems.diagnostic.process的范围
本文关键字:diagnostic process 范围 systems 数组 索引 | 更新日期: 2023-09-27 18:02:16
未处理异常:
系统。IndexOutOfRangeException:索引超出了数组的边界。
在HPLog.MultiLevelPointer.ProcessMem。Main(String[] args) in C:'Users'Seif'文档'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();
这是怎么回事:当你甚至没有问一个问题的时候,一个答案!
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...
}
试试这样做:
try
{
System.Diagnostics.Process Client = System.Diagnostics.Process.GetProcessesByName("Client")[0];
}
catch (IndexOutOfRangeException e)
{
System.Diagnostics.Process Client = null;
}
在使用Client之前,请确保它不是null
还有,你确定'Client'是实际的进程名吗?
在使用数组之前,您应该测试它是否为null
或包含任何项。因为您总是有机会使用该名称的进程不存在