«前の日記(2003年04月10日) 最新 次の日記(2003年04月12日)» 編集

だめだめ日記

ツッコミの内容は検索サイトからの検索やサイトのレーティングに影響します。そのため問題があるキーワードを含むと思われるツッコミについては、当方の判断で削除することがあります。予めご了承ください。 なお、コメントspamと判断されたツッコミは自動的に消去されます。ご容赦ください。
2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|05|06|09|10|11|12|
2013|01|02|02|03|08|09|
2014|01|
2015|09|10|11|
2016|01|04|

執筆、翻訳などに関わった書籍類


【改訂新版】Samba [実践]入門

Linux教科書
LPICレベル3 300試験

マスタリング Nginx

実践 パケット解析 第2版

改訂版 Sambaのすべて

アンドキュメンテッド
Microsoftネットワーク

その他の書籍は だめだめ日記のおみせ@本店でどうぞ。



2003年04月11日 [長年日記]

NTイベントログに、任意のソースで任意のイベントIDのメッセージを出力する

Win2k:14163から延々とやりとりして、わざわざCでイベントログに出力するプログラムまで作っちゃったのに、よくよく考えてみれば、プログラム書かなくてもちゃんとできた。

以下、Win2k:14203でわたしが書いたメールより

考えてみればプログラムは組まなくてもできます。
 
テキストエディタなどでメッセージファイルを作成し、例えば  messages.mc
という名前で保存します。といって面倒なので、わたしは
 
Option Explicit
Dim I
 
Wscript.echo "LanguageNames = (English=0x409:MSG00409)"
Wscript.echo "LanguageNames = (Japanese=0x411:MSG00411)"
Wscript.echo ""
 
FOR I = 0 TO 65535
  Wscript.Echo "MessageId = " + CSTR(I)
  Wscript.Echo "Severity = Informational"
  Wscript.Echo "Facility = Application"
  Wscript.Echo "SymbolicName = MSG_" + HEX(I)
  Wscript.Echo "Language = English"
  Wscript.Echo "%1!s!"
  Wscript.Echo "."
  Wscript.Echo ""
NEXT
 
のような、WSH を作成して、これを cscript.exe で起動して、出力をリダイ
レクトして、ファイルを作りました。上記で 65535 より大きなイベントIDが
必要なのであれば、数字を大きくしてください。
 
ついで Visual Studio などに入っているコマンドを使って
 
mc.exe messages.mc
rc.exe messages.rc
link.exe /NOENTRY /MACHINE:IX86 /DLL messages.res
 
とすると、messages.dll というDLLファイルができます。
 
後は、この DLL を適当な場所においた上で、リソースキットの reg.exe など
を使ってレジストリを適宜編集してソースを作成しつつ、logevent.exe でイ
ベントを出力するようなスクリプトを作れば、ご所望のことは実現できます。
...と言うことに気づいたのは、わざわざ C でプログラムを作っちゃってから
でしたが、上記のようにすれば、プログラムを組まなくても実現できる筈です。

参考URLなど

  • MSDN
  • http://www02.so-net.ne.jp/~handa/win32api/EventLogging.html
  • http://www.geocities.co.jp/SiliconValley-PaloAlto/5920/api_RegisterEventSource.html
  • http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=RegisterEventSource+&lr=lang_ja

まぁ、とりあえずプログラム動くところまで作っちゃったから、気が向いたら整形して公開するかな。

2003/04/14追記

NTイベントログに、任意のソースで任意のイベントIDのメッセージを出力するということで、プログラムを公開してみました。

ということで

だめだめになります 2:30am

寝るのに失敗

したので、再チャレンジ 3:00am


Copyright (C) 2003-2017 TAKAHASHI, Motonobu
webmaster@monyo.com