Windows7のガジェット

Vistaからガジェットが使えるようになっているんだけども、CPUやGPUの使用率や温度をモニタリングできるガジェットがないかと思って探していた。
探してみればわかるんだが、使用率を表示できるものはいろいろあるんだけども、温度まで測定できるものは限られてくる。

で、候補は以下に絞られた。

  • Multi Meter
    • いろいろな情報を表示可能。
      ただし温度は表示できない。
  • HWMonitor Meter
    • CPUIDのHWMonitorから情報をフェッチしてきて表示する。
      このため温度も表示可能。
      ただし、動作にはHWMonitorの実行が必須。
      表示可能項目数が確か12項目くらいに制限されてる。
      表示可能な項目もHWMonitorで表示される情報のうちの一部。
  • GPU Observer
    • GPUの温度を含めた一通りの情報を表示可能。
  • Intel Core Serires
    • IntelのCore系CPUの温度を含めた一通りの情報を表示可能。

はじめはMulti MeterとHWMonitor Meterでいろいろと表示させようと思ったのだが、表示させる項目の設定なんかは最初すっからかんである上に、設定方法がめんどくさい。
ついでに、この組み合わせだとCPUの利用率とCPUの温度を別々のガジェットでみなければならない。
個人的にはCPUに関する情報はCPUに関するものとして一つのガジェットで表示させたい。
そこでほかにないか探したところ、GPU ObserverとIntel Core Seriresを見つけた。

GPU Observerはインストールしたら素直に動いてくれた。
グラボがGTX295であるため、GPU Observerを二つ動かして二つのコアをおのおのに表示させ、表示項目をちょちょいといじってOKだった。

はまったのはIntel Core Seriresの方だ。
これがまたクロックも電圧も温度も表示してくれない。
このガジェットはCPUの各種情報を取得するのにWinRing0を使っている。
温度表示なんかを有効にするには、ガジェットの設定からWinRing0のインストールを行う必要がある。
で、インストールしたんだけども、表示されない。
レジストリを見た感じWinRing0のバージョンは1.2のようだ。
でまあ、WinRing0の配布元のOpenSysLibにいくと、WinRing0の2.0が配布されていた。
1系は1.3まで出ていたようだが、配布は終了している。
ということで、こっちに置き換えてみたら何とかなるかもしれないと思い、同梱されているWinRing0のドライバを2.0に置き換えることにした。

  1. WinRing0をアンインストール
  2. ガジェットを終了
  3. [WinDrive]:Users[UserName]AppDataLocalMicrosoftWindows SidebarGadgetsIntelCoreSeries24.gadgetにWinRing0 2.0のWinRing0.dll,WinRing0.sys,WinRing0x64.dll,WinRing0x64.sysを突っ込む
  4. ガジェットを起動
  5. WinRing0をインストール

エラーが出た。
サポートされないAPIだとかどうとか。
1.2と2.0でAPIが違うらしい。
下位互換くらい保っておけよと思いつつもWinRing0について調べてみたら、どうもこれは意図的らしい。
というのも、WinRing0 1.x系はカーネルモードドライバとして動作して、I/Oポートやら物理メモリやらいろいろともう生々しいレベルでタッチして動いているものだそうだ。
当然それは便利であるとともに、セキュリティ上のリスクを生じるものでもある。
そういった観点から鑑みて、

本質的に WinRing0 は存在してはならないライブラリ

だったとして、配布を停止したらしい。
ちなみに、カーネルモードドライバはWindows Vista x64以降、デジタル署名が要求される。
デジタル署名の失効の回避という事情もあったようだ。

まあなんにせよ、WinRing0 2系は、そういった関係から、APIに互換性はほとんどないんで、Intel Core Serires同梱のWinRing0が原因かどうかもわからないんだけども何か方法がないかと探していた。

あった。

728 名無し~3.EXE [] 2010/04/22(木) 17:16:00  ID:eDshp0TI  Be:
 >>4
 にあったリンク

http://blog.orbmu2k.de/category/sidebar-gadgets

 からCPUのガジェット落として使ってた
 OS再インスコしたら温度表示されなくなったんだけど
 原因分かる人いる?

 ちなみにOSインスコしてアップデートした後にガジェット
 インスコ、GPUのも最初なにも表示されなっかけどCPUIDの
 アプリインスコしたら表示されるようになった

 よろしくお願いします 

732 名無し~3.EXE [sage] 2010/04/23(金) 23:20:19  ID:zMNeiTas  Be:
 >>728
 うちも同じ状況だ… OSはWin7 Pro x64
 もともとVer2.1を使ってたのを2.4に更新したらおかしくなった…
 元に戻しても、2.0にしてもダメ。
 WinRing0 Driverのせいかと思って入れ直したりしたけど変わらず…

 というか、GPUのもその後しばらくたってから突然グラボを認識しなくなった…
 CPUIDの何入れました? HWMonitorは入れてあるんだけど… 

734 名無し~3.EXE [sage] 2010/04/24(土) 04:57:15  ID:8VNNtnLG  Be:
 >>728 >>732
 はいよ。細かいことはreadmeみてくれれ

http://www1.axfc.net/uploader/File/so/42631.zip

readmeから引用

原因:IntelCoreSeries24に同梱されているドライバが正常に動かない。
解決策:ドライバだけIntelCoreSeries23から抜き出して上書きする。

ソースは2ちゃん。
にらみどころはそう間違ってなかったみたいだ。
ってか734神。

ようやく動いた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>