CrystalDiskInfo 2.1 Dream1
イベントログ機能を Windows 2000/XP Home でも使用したい!! そんな熱い要望も多数届きましたので、イベント・ログに任意の文字列を出力する (@IT) を参考に対応策を再検討しました。
やはり、自前でイベントログにアプリケーション名付きで書き込むのはかなり大変そうなので、Denka’s Library さんの EventLogger を使用させていただくことにしました。しかし、EventLogger の雑誌等への添付は事前に許可が必要とのことでしたので、作者の Denka さんにお願いして雑誌等も含めて自由な再配布の許可をいただきました。(そうしないと CrystalDiskInfo の再配布もできなくなるので……)しかも、eventcreate.exe 互換のイベントタイプ設定に対応したカスタムバージョンを作成していただきました。 ありがとうございます!!
まだ十分なテストはできておりませんが、Windows 2000/XP Home でもイベントログ機能が利用できるようになったかと思います。お手数ですが、動作レポートよろしくお願いします。
※マニュアル等一切更新しておりません。次回以降に更新予定です。
【元旦追記】
イベント・ログに任意の文字列を出力する でも指摘されているように、EventLogger を使用した場合、メッセージに余計な警告文が挿入されてしまうことがわかりました。最終的には、WSH 経由でやるしかないのかなぁ~…… 検討中です。 WSH では、イベントID すら登録できないことが判明しました。RegisterEventSource 書き込み用にイベントログをオープン あたりを参考に自前で実装する予定です。
【ダウンロード】
- 実行ファイル (期間限定)
イベントログを読んでて覚えてたんですが、Google&Appleでさえもこれですよ~
作った側は気にしてないんじゃないでしょうか……(@_@)
イベント ID (20) (ソース Google Update 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる可能性があります。詳細については、ヘルプとサポートを参照してください。次の情報はイベントの一部です:
———
イベント ID (0) (ソース iPod Service 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる可能性があります。詳細については、ヘルプとサポートを参照してください。次の情報はイベントの一部です: Service started.
———
イベント ID (1) (ソース Bonjour Service 内) に関する説明が見つかりませんでした。リモート コンピュータからメッセージを表示するために必要なレジストリ情報またはメッセージ DLL ファイルがローカル コンピュータにない可能性があります。この説明を取得するために /AUXSOURCE= フラグを使用することができる可能性があります。詳細については、ヘルプとサポートを参照してください。次の情報はイベントの一部です: mDNSResponder started
NTイベントログに、任意のソースで任意のイベントIDのメッセージを出力する
http://www.monyo.com/technical/products/evt_messages/
に置かれているmessage.dllを登録して実験したのでしょうか?
その場合、EventLoggerを使うなら実際に指定したいID値+1073741824(16進数で0x40000000)を -i オプションで与える必要があります。
@ITの「イベント・ログに任意の文字列を出力」するで
> なお、LogeventとEventloggerでは、別途メッセージ・リソースを登録してもこのメッセージが消えなかったことを追記しておく。
と言っているのはこの補正を行わなかったためでしょう。
ちなみに自前でAPIを呼び出して実装した場合でもメッセージ・リソースDLLを登録する必要があることに変わりはないので、警告を消すのが目的なら自前で実装する意味はまったくありません。
> ち さん
Google&Apple でさえ気にしていないというのはすごいですね。
というか、いちいち警告文が表示されるイベントログの仕様自体が謎ですが。
> えむけい さん
+ 0×40000000 が必要でしたか。@IT の記事を鵜呑みにしていました。
紹介いただいたサイトのページもチェックしておりまして、message.dll を
つかうのではなく DiskInfo.exe に必要なイベントIDのみに対応したリソース
を統合する方向で検討しています。