Process类对performance counter 有一个依赖,当某种原因在你的机器上performance counter 被禁时,Process.GetProcesses()就会抛出此异常
你将注册表的
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance]
增加键,"Disable Performance Counters",值为dword:00000000
然后就应该好了。
你将注册表的
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance]
增加键,"Disable Performance Counters",值为dword:00000000
然后就应该好了。
解决方案 »
- InternetExplorer的DocumentComplete事件为什么不能操作,有什么解决办法!
- vs发布生成setup文件无法使用
- winform只打开一个窗体
- C#中把EXECL里的数据导入到datagrid里面,EXECL文件必须得和服务器在一台机器上吗?
- 各位兄弟,请指点一下怎样用位来进行权限存取、判断操作?
- 线程终止??
- C#中如何才能达到这个目的?
- JSON 序列化和反序列化
- 急:我想在一个报表(用水晶报表实现)中打出多个有主从表关系的记录,请问在程序里该如何控制?
- 请问诸位大虾,网上有没有专门的讲Asp.net控件的书呀?
- 警告问题?
- 如何知道本机SQL数据库用户名和密码?
是一点错都没有的
SYSTEM\CurrentControlSet\Services\PerfProc\Performance
把Disable Performance Counters设为0或用如下的代码来做:RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\PerfProc\Performance", true);
if (rk!=null)
{
object tmpObj=rk.GetValue("Disable Performance Counters");
if (tmpObj!=null && !tmpObj.Equals(0))
{
rk.SetValue("Disable Performance Counters",0);
}
}
System.Diagnostics.Process[] pros=System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName);