お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"RE:CPU使用率の取得[Win95専]"

この発言は
#00514 紅月 燐火 さんのCPU使用率の取得[Win95専]
に対するコメントです

この発言に対し以下のコメントが寄せられています
#00910 紅月 燐火 さん RE^2:CPU使用率の取得クラス[Win95専]

{ 改訂版です。 システムモニターと同じくCPU使用率(利用率?)を取得します。 フォームにTTimer・TGaugeを配置してください。usesにRegistryも付け加えてく ださい。 Win95とWin98で動作しますが、WinNT4.0では動作しません。 } procedure TForm1.FormCreate(Sender: TObject); var Reg: TRegistry; Values: TStringList; i, Buf: Integer; begin Reg := TRegistry.Create; Values := TStringList.Create; try Reg.RootKey := HKEY_DYN_DATA; Reg.OpenKey('\PerfStats\StartStat', False); //実際は必要のあるデータだけ読み出せばいい様ですが、 //ここでは全部読み出すことにしています。 Reg.GetValueNames(Values); for i := 0 to Values.Count -1 do Reg.ReadBinaryData(Values[i], Buf, SizeOf(Integer)); finally Reg.Free; Values.Free; end; end; procedure TForm1.Timer1Timer(Sender: TObject); var Reg: TRegistry; Usage : Integer; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_DYN_DATA; if Reg.OpenKey('\PerfStats\StatData', False) then begin //バイナリデータを読み出します。 Reg.ReadBinaryData('KERNEL\CPUUsage', Usage, 4); Gauge1.Progress := Usage; end; finally Reg.Free; end; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); var Reg: TRegistry; Values: TStringList; i, Buf: Integer; begin Reg := TRegistry.Create; Values := TStringList.Create; try Reg.RootKey := HKEY_DYN_DATA; Reg.OpenKey('\PerfStats\StopStat', False); Reg.GetValueNames(Values); for i := 0 to Values.Count -1 do Reg.ReadBinaryData(Values[i], Buf, SizeOf(Integer)); finally Reg.Free; Values.Free; end; end; // 紅月 燐火(BZF05041) Original document by 紅月 燐火 氏 ID:(BZF05041)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum