CrystalDiskInfo 2.1 Dream2
イベントログ機能を Windows 2000/XP Home でも利用できるようにしました。2000では動作確認してませんが (汗
イベントログにはあまりなじみがないため結構苦労してしまいましたが、最終的にはメッセージリソースを実行ファイルに統合し、すべて自前で実装しました。そのため、謎な警告文ともおさらばです。ただし、2000/XP Home でイベントログ機能を有効にするとレジストリに以下のサブキーを生成し、必要な情報を登録します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
\EventLog\Application\CrystalDiskInfo
なお、イベントログ機能を無効にすると上記サブキーを削除します。XP Pro/Vista 以降では今まで通り eventcreate.exe を使用するため、レジストリへの書き込みは行いません。
【ダウンロード】
- 実行ファイル (期間限定)
Win2kで確認しようと思ったのですが、VMwareではディスクを1つも認識できませんでした。VMwareの仮想ディスクデバイスには対応していないのでしょうか。
>なお、イベントログ機能を無効にすると上記サブキーを削除します。
削除すると過去に記録したイベントでも警告メッセージも復活します。一般に、一度登録したメッセージリソースの削除はできないと思ってください。同様にメッセージリソースを格納したバイナリの移動や削除もできません。
>XP Pro/Vista 以降では今まで通り eventcreate.exe を使用するため、レジストリへの書き込みは行いません。
eventcreate.exeが書き込みます。「CrystalDiskInfo自身は書き込まない」という意味では確かに嘘は言ってないかもしれませんが。
eventcreate.exeはMicrosoftにしかできないチートでメッセージリソースの登録を免れているわけではなく、自分自身をメッセージリソースとして追加しているに過ぎません。eventcreate.exeが特定のパスに存在することを保証できるのはMicrosoftだけができる有利な点かもしれませんが。
>えむけいさん
貴重なコメントありがとうございます。イベントログは今まで取り扱ったことがなかったので参考になります。
eventcreate.exe が登録されているのですね。レジストリを検索したところ、
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003
\Services\Eventlog\Application\CrystalDiskinfo
に登録されていました。今後更新するマニュアルには、誤解を与えないよう記述に気をつけます。
VirtualPC だとディスクは見えたのですが・・・。なんにせよ、温度等の情報が得られないためアラームは出ません。
>えむけいさん
レジストリに実行ファイルパスを登録した後に実行ファイルを削除したり、レジストリの実行ファイルパスを変更したりすると警告メッセージが表示され、レジストリを元に戻しても消えなくなりました。(Vista でのみ確認)
System32 配下などにメッセージリソースDLLを登録し、今後一切変更しないようにする方が良いかも知れません。eventcreate.exe が XP Home でも利用できればこんな苦労はしなくてすんだのですが……。
再起動したところ、レジストリ登録した実行ファイルのパスを変更した場合でも警告メッセージが表示されなくなったので、パスが変更されても実用上は問題ないような気がしてきました。