[delphi-users:4643] イベントログへのメッセージ出力について

1,111 views
Skip to first unread message

村の人

unread,
Mar 8, 2017, 7:31:42 PM3/8/17
to delphi...@freeml.com
おはようございます、黒川と申します。
いつも参考にさせていただきありがとうございます。

今回はWindowsイベントログへのメッセージ出力についての質問です

イベントログへのメッセージ出力自体は
TEventLoggerのLogMessageにて出力自体は可能なのですか、
"サービスを起動しました。"とメッセージを出力すると


--------------ここから
ソース "TESTPROGRAM" からのイベント ID 1 の説明が見つかりません。このイ
ベントを発生させるコンポーネントがローカル コンピューターにインストール
されていないか、インストールが壊れています。ローカル コンピューターにコ
ンポーネントをインストールするか、コンポーネントを修復してください。

イベントが別のコンピューターから発生している場合、イベントと共に表示情報を保存する必要があります。

イベントには次の情報が含まれています:

サービスを起動しました。
--------------ここまで

のように、メッセージの前半に不要な内容が常に出力されます。
内容からすると、IDに対する説明内容をどこかに設定してあげる必要があるよう
ですが、LogMessageを出力する前に何か処理が必要なのでしょうか?

出力処理自体は次のようにしています。

// イベントログ出力
procedure TForm1.PutEventLog(const EvntMsg: String; const EvntType:
DWORD; const EvntID: DWORD);
var
EventLog : TEventLogger;
EvntCategory : WORD;
begin
// イベントログのタイプ
// EVENTLOG_ERROR_TYPE エラーイベント
// EVENTLOG_WARNING_TYPE 警告イベント
// EVENTLOG_INFORMATION_TYPE 情報イベント
// EVENTLOG_AUDIT_SUCCESS 成功の監査イベント
// EVENTLOG_AUDIT_FAILURE 失敗の監査イベント

EventLog := TEventLogger.Create('TESTPROGRAM');
try
EvntCategory := 0;
EventLog.LogMessage(EvntMsg, EvntType, EvntCategory, EvntID);
finally
FreeAndNil(EventLog);
end;
end;

お手数をお掛け致します。
何かヒントをいただけましたら幸いです。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
ムーヴやウェイクなどでお馴染みの、ダイハツ工業のポータルサイト!
おもしろコンテンツや豪華なプレゼントが当たるお得なキャンペーン、
クルマのお役立ち情報などをお届けします!!
会員登録の詳細こちらをCheck!
http://ad.freeml.com/cgi-bin/sa.cgi?id=pJNzS
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Mar 8, 2017, 9:20:33 PM3/8/17
to delphi...@freeml.com
こんにちは
細川です。

下記のページを参考にしてみて下さい。

■FDelphi NTのイベントログに書き込む
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/samples/00733.html

■NTイベントログに、任意のソースで任意のイベントIDのメッセージを出力する
http://www.monyo.com/technical/products/evt_messages/

簡単に言うと、メッセージリソースをレジストリに登録しないと「イベント ID x の説
明が見つかりません」になります。

メッセージリソースを作成するためには mc.exe (MessageCompiler) が必要です。

■Message Compiler (MC.exe)
https://msdn.microsoft.com/en-us/library/windows/desktop/aa385638(v=vs.85).aspx

昔は VisualStudio をインストールすると入っていたのですが、現在は Windows SDK
から入手するようです。

手持ちの Windows SDK で検索してみたのですが Windows\v7.1A\Bin にありましたが、
v8.x や v10.0A には無いようでした。

具体的な流れは下記の様になります。

1.メッセージ(.mc)を作る
2.mc.exe を使ってコンパイルする
3.Brcc32 を使って RES ファイルを作る
4.Dll を作成し RES ファイルを $R で組み込む
5.これを Registory に登録する

詳しくは上のページを見たり「mc.exe」で検索すれば情報が沢山でてきます。
Regards,
HOSOKAWA Jun / embarcadero MVP for Delphi
[S/G] SERIALGAMES Inc.
TEL: 03-5812-4368
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
■即戦力人材と企業をつなぐ転職サイト■
ビズリーチに【無料登録】すると・・・
・一流企業の求人情報を閲覧できます
・ヘッドハンターからスカウトが届きます
ビズリーチ【無料登録】ページはこちら
http://ad.freeml.com/cgi-bin/sa.cgi?id=pJP4S
------------------------------------------------------[freeml byGMO]--

村の人

unread,
Mar 9, 2017, 9:14:26 PM3/9/17
to delphi...@freeml.com
細川様

こんにちは、黒川です。
具体的な流れで助かります。
ありがとうございました。
MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
抜け毛や薄毛の不安に。健やかな育毛環境を目指す
薬用育毛スカルプローション「フェミナップ」
モニターさんの100人中93人がまた使いたいと答えました。
特に女性にオススメです。ぜひご覧ください。
http://ad.freeml.com/cgi-bin/sa.cgi?id=pKaEg
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages