タグ別アーカイブ: .netFramework

C#でCPU使用率を取得する

C#で実行中PCのCPU使用率を取得しようとした場合、下記の様なコードで取れる、と思われます。System.Diagnostics 名前空間を using しておいてください。

パフォーマンスカウンタから値を取得するhttp://dobon.net/vb/dotnet/system/readperformancecounter.html

PerformanceCounter pfcounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
float cpu = pfcounter.NextValue();

……が、なぜか0しか取得出来ない。

MSDNやGoogleに頼ってみてもなかなか明確な答えが見つけられなかったものの、
どうも「最初の1回目の値は使えない」「すぐには値が取れない」らしい。

いろいろ試した結果、以下がCPU使用率を正常に取得できたコードです。
Visual Studio Express 2013 for Windows Desktop + .netFramework 4.5で動作確認済み。

PerformanceCounter pfcounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
float cpu = pfcounter.NextValue();
Thread.Sleep(1000);
cpu = pfcounter.NextValue();

とりあえず動いた、という大変アレなコードですが忘備録として。
(PerformanceCounter インスタンスの nextValue() の計算方法は PerformanceCounterType 列挙体によってが制御されているので、その辺りが関係ありそう? )


SS to e-book、Automatic Screenshot Converter アップデート

Apache License 2.0にてオープンソース化。SS to KindleはSS to e-bookに名称変更。その他細かな修正。 殴り書きのようなひどいコードですが、難読化をするのも面倒だったのでOSSにしました。なお、リポジトリは有りません。
ソフトウェアのページへ


Automatic Screenshot Converter ver 0.1.0 リリース

ASC_mini

ゲーム側のスクリーンショット画像を自動でフォーマット変換し、あなたのゲーミングライフのシェアを加速するツールを作ってみた。
指定したフォルダーを監視し、画像ファイルが作られたタイミングで画像フォーマットの変換を行い、指定したフォルダーに保存します。

詳細ページへ