我目前正在我的一个项目中做一个自制任务管理器。 在我的程序中实现其他功能之前,一切正常。一旦我在评论
中添加以下行,就会抛出异常抛出异常:System.dll中的“System.UriFormatException”
抛出异常:System.dll中的“System.ComponentModel.Win32Exception”
每当我启动使用发布版本生成的程序.exe时,我得到了这个:
System.ComponentModel.Win32Exception(0x80004005):访问被拒绝
由于
foreach (Process p in active_process)
{
ListViewItem process_list = new ListViewItem(p.ProcessName);
p.Refresh();
listView1.Items.Add(process_list); //Add Processes Name in Column 1
process_list.SubItems.Add(p.Id.ToString()); //Add Processes ID in Column 2
process_list.SubItems.Add(p.WorkingSet64.ToString()); //Add The physical memory used by processes in Column 3
//process_list.SubItems.Add(p.PriorityClass.ToString());//Add The priority degree of each processes in Column 4
//process_list.SubItems.Add(p.StartTime.ToString()); //Add The time at which each processes started in Column 5
process_list.Tag = p;
}
答案 0 :(得分:1)
如果没有管理权限,您将无法访问进程列表,因此您应该请求它们。
请参阅How to request administrator permissions when the program starts?
答案 1 :(得分:1)
通过右键单击项目然后添加应用程序清单文件并将requestedExecutionLevel更改为此
,使程序以管理员身份运行<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
这样您的程序就会在开头要求管理员权限