WMI应该可以,推荐:
你试试C:\WINNT\system32\wbem\wbemtest.exe,它可以查到对象。
详情请见
http://dev.csdn.net/develop/article/36/36690.shtm
(WMI 脚本入门)
你试试C:\WINNT\system32\wbem\wbemtest.exe,它可以查到对象。
详情请见
http://dev.csdn.net/develop/article/36/36690.shtm
(WMI 脚本入门)
解决方案 »
- vs2010 TextBox的问题
- 存储过程优化
- 动态创建textarea问题(在线等)
- 生成图片的问题
- 为什么发送邮件出现这样的错误(ASP.NET web service)??
- 求助个WINFORM的问题如何取标题栏的高度边框的宽度啊
- 客户端连服务端多线程(TCP连接),客户端断开连接后服务端CPU占用100%
- 如何在程序中点击一个按钮,执行关闭该程序并重新启动该程序
- 视频的最大化问题~~this.axStormPlayer1.Width = MaximumSize.Width;怎么不行?
- Entity FrameWork 数据库表名是动态变化 的问题,OnModelCreating方法不执行
- 初学c#,高手请帮我看看这段代码!我基本能看懂,但不知道出了什么问题.
- .net打不开是为什么呀!!!!!!
但总是提示:
“描述: 无法为本地连结使用用户凭证”连本地或远程都这样
为什么?
一般访问的是root\cimv2;
连接其他机器输入\\IP\root\cimv2
进去后选枚举,点击递归;
对于Win2000有600多个对象;
对于WinXp有900多个对象;
对于Win2003有1000多个对象。
但用wbemtest.exe查了查,不知道哪个才是CPU使用率或内存使用情况的。
PerformanceCounter pc = new PerformanceCounter(CategoryName,CounterName,InstanceName);
float cpuLoad = pc.NextValue();
但它只是查的本机的(数值也准确),又如何查远程的PC呢?另外又用另外一种方法,WMI,但查的很不准,也不知是不是取得方法不对还是咋的?
代码如下:
queryCollection1 = getProcessCollection("root","hexin2002",mip,"SELECT * FROM Win32_PerfRawData_PerfProc_Process");
}
//统计进程
long mcount=0,malltime=0,mcpu=0,i = 0;
long[] mprocess = new long[500];
foreach ( ManagementObject mo1 in queryCollection1)
{
mcount++;
mprocess[i] = long.Parse(mo1.Properties["PercentProcessorTime"].Value.ToString());
malltime += mprocess[i];
//ID号是0的进程是CPU空闲进程:System Idle Process
if (long.Parse(mo1["IDProcess"].ToString()) == 0)
mcpu = mprocess[i];
}
this.textBox3.Text =((malltime-mcpu)*100/malltime).ToString();
set perf_instance1 = wmi_service.get( sObjectPath )
N1 = perf_instance1.PercentProcessorTime
D1 = perf_instance1.TimeStamp_Sys100NSwhile true'Sleep for one second = 1000 ms
wscript.sleep(1000)set perf_instance2 = wmi_service.get( sObjectPath )
N2 = perf_instance2.PercentProcessorTime
D2 = perf_instance2.TimeStamp_Sys100NS' CounterType - PERF_100NSEC_TIMER
' Formula = ((N2 - N1) / (D2 - D1)) x 100if ( 0 = (D2-D1) ) then
wscript.echo "divide by zero"
else
PercentProcessorTime = ((N2 - N1) / (D2 - D1)) * 100
wscript.echo "% Processor Time = " , PercentProcessorTime
end ifN1 = N2
D1 = D2
wend
倒是有数值返回,但和操作系统的TASKMANAGER的不太一样,
不知道哪个准?