掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ReadEventLog→ExpandEnvironmentStrings→LoadLibraryEx→FormatMessageでイベントログを正しく読み込むには? (ID:43429)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 Windows XP以降のイベントログの習得についてです。 Delphi: D5,D6,2006 です。 ReadEventLog→ExpandEnvironmentStrings→LoadLibraryEx→FormatMessageの手順で DLLをリソースとして読み込み文字列を取得しているのですが 正確にメッセージが取得できないものがあるのです。 %1 や %2 といったものは単純に for i:=StringList.Count-1 downto 0 do StringReplace(msg,'%'+IntToStr(i),StringList[i],[rfReplaceAll]) のようにやって普通に置換しています。 ソースが Microsoft Antimalware のものだけが、 > %%860 の署名のバージョンが更新されました。 > 現在の署名のバージョン 〜以下略 のようになってしまいます。 この %%860 が PChar(EventLogRec)+EventLogRec^.StringOffset) 以降の StrLength x NumStrings 番目に現れません。 OS標準のイベントビューアを見ると %%860 は Microsoft Antimalware になっています。 %%860 は、どこから持ってくればよいのかご存じの方がいらっしゃいましたら、ご教示願えればと思い質問させていただきました。 よろしくお願いいたします。 コード的には http://www.delphipraxis.net/6409-eventloglister-nt-2k-xp-2k3.html と似たような感じで、特に特別なことをやっているわけでもなく問題なく動きます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.