?? subject_40802.htm
字號:
<p>
序號:40802 發表者:pingping0615 發表日期:2003-05-21 17:08:20
<br>主題:關于cpu的api函數
<br>內容:急球可以檢測到cpu利用率的api函數(2000,xp下的)
<br><a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回復者:michael 回復日期:2003-05-21 17:18:51
<br>內容: SYSTEM_PERFORMANCE_INFORMATION SysPerfInfo;<BR> SYSTEM_TIME_INFORMATION SysTimeInfo;<BR> SYSTEM_BASIC_INFORMATION SysBaseInfo;<BR> double dbIdleTime;<BR> double dbSystemTime;<BR> LONG status;<BR> static LARGE_INTEGER liOldIdleTime = {0,0};<BR> static LARGE_INTEGER liOldSystemTime = {0,0};<BR><BR> NtQuerySystemInformation = (PROCNTQSI)GetProcAddress(<BR> GetModuleHandle("ntdll"),<BR> "NtQuerySystemInformation"<BR> );<BR><BR> if (!NtQuerySystemInformation)<BR> return S_FALSE;<BR><BR> // 得到系統中處理器數<BR> status = NtQuerySystemInformation(SystemBasicInformation,&SysBaseInfo,sizeof(SysBaseInfo),NULL);<BR> if (status != NO_ERROR)<BR> return S_FALSE;<BR> <BR> // 得到新的系統時間<BR> status = NtQuerySystemInformation(SystemTimeInformation,&SysTimeInfo,sizeof(SysTimeInfo),0);<BR> if (status!=NO_ERROR)<BR> return S_FALSE;<BR><BR> // 得到新的CPU空閑時間<BR> status = NtQuerySystemInformation(SystemPerformanceInformation,&SysPerfInfo,sizeof(SysPerfInfo),NULL);<BR> if (status != NO_ERROR)<BR> return S_FALSE;<BR><BR> // 如果第一次調用跳過<BR> if (liOldIdleTime.QuadPart != 0)<BR> {<BR> // 當前值 = 最新值 - 舊值<BR> dbIdleTime = Li2Double(SysPerfInfo.liIdleTime) - Li2Double(liOldIdleTime);<BR> dbSystemTime = Li2Double(SysTimeInfo.liKeSystemTime) - Li2Double(liOldSystemTime);<BR><BR> // 當前CPU空閑時間 = 空閑時間 / 系統時間<BR> dbIdleTime = dbIdleTime / dbSystemTime;<BR><BR> // 當前CPU利用率% = 100 - (當前CPU空閑時間 * 100) / 處理器數<BR> dbIdleTime = 100.0 - dbIdleTime * 100.0 / (double)SysBaseInfo.bKeNumberProcessors + 0.5;<BR>
<br>
<a href="javascript:history.go(-1)">返回上頁</a><br><a href=http://www.copathway.com/cndevforum/>訪問論壇</a></p></blockquote>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -