我想获得C#中应用程序的总CPU使用率.我已经找到了许多方法来深入研究进程的属性,但我只想要进程的CPU使用率,以及你在TaskManager中获得的总CPU.
我怎么做?
编辑:我改述了我的问题,请忽略下面的所有评论(截至5月7日).
首先,我将尝试解释这个问题:
我的过程是尝试使用ITrayDeskBand :: ShowDeskBand以编程方式显示Deskband.
除了操作系统加载所有进程(重置或注销后)之外,它在任何时候都可以正常工作.
Windows启动并开始加载各种应用程序\服务后,鼠标光标设置为等待几秒钟(取决于运行的应用程序数量\所有内容的速度).
如果鼠标光标设置为wait并且进程在此期间运行,则调用将失败.
但是,如果我的进程等待几秒钟(在此之后光标变为常规)然后调用该调用,一切都很好.
在Windows 7和Windows Vista上都重现了此行为.
基本上我要问的是:
1)仅仅为了基本知识,当光标设置为忙时操作系统会做什么?
2)更重要的问题:如何在此过程结束时以编程方式检测?
起初,我认为资源管理器没有正确加载,所以我使用了WaitForInputIdle,但事实并非如此.
后来我认为忙碌的光标表示CPU正忙,所以我创建了我的进程,IDLE_PRIORITY_CLASS但是在光标忙的时候收到了空闲时间.