ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2017年11月21日(火) 20:43

All times are UTC+09:00




新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2007年6月16日(土) 14:41 
オフライン

登録日時: 2005年6月01日(水) 21:51
記事: 212
住所: 奈良県北西部
コード:
Const SIZE_OF_LONG = 4

' ボタンをクリックすると、CPU の使用率が取得できます。
Sub MainWnd_CommandButton1_Click()
	Dim CPUUsage As Long
	Dim ValueSize As Long
	Dim hKey As HKEY

	'HKEY_DYN_DATAの“\PerfStats\StartStat\KERNEL\CPUUsage”という値を
	'クエリーすることにより、CPU使用率の計測が開始される。
	ValueSize = SIZE_OF_LONG
	RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\StartStat", 0, KEY_QUERY_VALUE, hKey)
	RegQueryValueEx(hKey, "KERNEL\CPUUsage", 0, 0, VarPtr(CPUUsage), VarPtr(ValueSize))
	RegCloseKey(hKey)

	'一秒間計測
	Sleep(1000)
	    
	'実際のCPU使用率は“\PerfStats\StatData\KERNEL\CPUUsage"という値で
	'取得できる。
	ValueSize = SIZE_OF_LONG
	RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\StatData", 0, KEY_QUERY_VALUE, hKey)
	RegQueryValueEx(hKey, "KERNEL\CPUUsage", 0, 0, VarPtr(CPUUsage), VarPtr(ValueSize))
	RegCloseKey(hKey)

	'計測結果を表示
	dim Usage[255] as Byte
	wsprintf(Usage,"%d %",CPUUsage)
	MsgBox hMainWnd,Usage,0,MB_OK

	'計測を終了するには、“\PerfStats\StopStat\KERNEL\CPUUsage”という
	'値をクエリーする。
	ValueSize = SIZE_OF_LONG
	RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\StopStat", 0, KEY_QUERY_VALUE, hKey)
	RegQueryValueEx(hKey, "KERNEL\CPUUsage", 0, 0, VarPtr(CPUUsage), VarPtr(ValueSize))
	RegCloseKey(hKey)
End Sub
よく検索すると見つかるもんなんですね。(笑)

因みに、システムモニタと見比べてみると、誤差が生じるときがあります。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 

All times are UTC+09:00


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by KONISHI Yohsuke