全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2059
推到 Plurk!
推到 Facebook!

如何用delphi程序如何读取系统各进程CPU使用率?

 
snow20042004
一般會員


發表:1
回覆:0
積分:0
註冊:2006-12-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-12-15 20:32:33 IP:220.175.xxx.xxx 訂閱
如何用delphi程序如何读取系统各进程CPU使用率??急
类似,windows2000的任务管理器中的形式。
希望能提供点实例代码供参考,我也查到有前人如下方法:
//---------------------------------------------
在注册表中,有一个分支叫HKEY_DYN_DATA,大量的系统信息都保存在此分支下的PerfStats主键中。

为了获取如CPU的使用率等信息,你需要做三件事:

第一步是开始选择的计数器,可以通过读取相应的注册表主键完成。

例如:
如果我们想知道CPU的占用率,你可以读HKEY_DYN_DATA的这个主键
'PerfStats\StartStat\KERNEL\CPUusage'
这一步是开始计数器

下一步是是读取'PerfStats\StatData\KERNEL\CPUusage'的值,它的值给出了当前CPU的使用率。如果我们将代码放在一个Timer的事件中,我们就可以看到动态的变化了。

最后一步是停止计数器,通过读取注册表的'PerfStats\StopStat\KERNEL\CPUusage'键完成。

除CPU的占用率外,这里还有很多其它的计数器。你可以打开用注册表编辑器打开PerfStats\StatData键,可以看到全部的列表。
//-----------------------------------------------
但是这个键值只有windws98系统中有,windows2000后注册表中取消了。是否还有其他的方法实现在windows2000与windowsxp中读取各进程的CPU使用效率,非常感谢!!!!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-05 14:17:53 IP:61.219.xxx.xxx 未訂閱
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-05 16:36:11 IP:61.219.xxx.xxx 未訂閱
如何取得某一PORCESS的CPU佔用使用率?
http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=65225
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
系統時間:2024-05-17 13:32:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!