« はてブニュースが紹介されました | メイン | グラタンを作りたい »

2006年04月15日

パフォーマンス監視 IE ツールバー

Visual C# で IE ツールバーにチャレンジしていたのだけど、やっとそれらしいものが出来上がりました。

パフォーマンス監視バー

CodeZine の記事を読みながらコーディングしたのですが、どうも trdgetNETSentBytePerSec あたりを Thread.Start するところで落ちるっぽい(無限ループがダメ?)。そんな最高の「ブラクラ」だったわけですが、よくよく考えたら、定期的に実行すれば良いのだから、タイマーの中にほりこんでやった。

private void timer_Tick(object sender, EventArgs e)
{
    float SpeedVal;

    // 通信速度取得と単位変換
    SpeedVal = Speed.NextValue() / 1024;

    // ラベルに表示
    speed_value.Text = SpeedVal.ToString("###0.00") + " Kbps";
    this.Refresh();
    System.Windows.Forms.Application.DoEvents();
}

こんな感じのコード。

PerformanceCounter を利用してネットワークの転送量を取りたく Network Interface というカテゴリを指定して、取得しようと思うわけですが、肝心のインスタンス名が分からない。

Broadcom 440x 10/100 Integrated Controller

がデバイス名なので、これを与えてみたけど、動かない。調べてみると、インスタンス名にスラッシュが含まれる場合は、アンダースコアに置換する必要があるらしい。

Broadcom 440x 10_100 Integrated Controller

よっしゃ、これで行ける!とか思ったらいけないでやんの。

Broadcom 440x 10_100 Integrated Controller - パケット スケジューラ ミニポート

これが正しかった…。分かるかボケ!インスタンス名の一覧を取得できるコードを書いて調べましたよ。

ということで、小さい一歩を踏み出しました。バーのバックカラーが IE と同じにならないし、縦幅が固定されない(デフォルトで見えないサイズ)し、いろいろ課題がたまってますが、少し進んだということで。

普通な検索バーを作ってみるかな。

【関連記事】
Visual C# 2005 Express Edition (2006年04月15日)

【関連情報】
・パフォーマンスカウンタのカテゴリ、カウンタの一覧を取得する
 http://dobon.net/vb/dotnet/system/performancecountergetcategories.html

2006年04月15日 18:12 | Programming

トラックバック

このリストは、次のエントリーを参照しています: パフォーマンス監視 IE ツールバー:

» Google Toolbar以外のおすすめツールバー from The Paradigm Shift:パラダイムシフト
Google Toolbar以外のおすすめツールバー ・Ask.jp ツールバー対応ブラウザ種類:Internet Explorer 使える遊べる楽... [続きを読む]

トラックバック時刻: 2006年06月11日 22:37

コメント

言ってくれれば作るのに。

投稿者 IKeJI : 2006年04月16日 17:35

>> IKeJI さん
C# のお勉強ですよ。なかなか楽しい。

投稿者 ceekz : 2006年04月16日 17:47

ceekバー公開ですか?

投稿者 Hotspring : 2006年04月16日 19:26

>> Hotspring さん
その水準に達するまで、かなり時間を要しそうです…。

投稿者 ceekz : 2006年04月16日 23:44

下2行いらないんじゃね?
timerの場合は手動で再描画する必要はない。

投稿者 IKeJI : 2006年04月17日 11:21

>> IKeJI さん
調べてみます。よく分からずそのままですからね…。

投稿者 ceekz : 2006年04月17日 15:22