[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/12/17(Sat) 18:48
投稿者名:仁志
Eメール:bye070@yahoo.co.jp
URL :
タイトル:
VB6.0によるWindowsイベントログ取得
初めましてです。
自分は仁志と申します。さっそく質問なんですが
現在VB6.0でWindowsイベントログを取得しようと奮闘しています。
ですが、イベントログの説明の部分が上手く取れません。
それ以外の部分はうまく取れているのですが。。。。

-------------------------------------------------------------------------
Windows上より取ってきたイベントログ説明(システム)
    システムは次の設定のネットワーク アダプタを登録できませんでした:
    アダプタ名 : {F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}

プログラムより取得してきた説明部分
\Device\NetBT_Tcpip_{F5104CA0-4DD4-4BCC-A8FC-5ED4EBCA97A8}
-------------------------------------------------------------------------

と上記のようになってしまいます。

ソースの一部を公開いたしますのでご教授いただければ幸いです。

-------------------------------------------------------------------------
動作環境
OS        Windows2000
言語    Visual Basic6.0
-------------------------------------------------------------------------

Public Function GetLog()
    Dim hEventLog       As Long
    Dim typLogRec       As EVENTLOGRECORD
    Dim lngRet          As Long
    Dim lngBytesRead                As Long
    Dim lngMinNumberOfBytesNeeded   As Long
    Dim bytBuf()        As Byte
    Dim lngLen          As Long
    Dim bytEdit()       As Byte
    Dim intEdit         As Integer
    Dim strString       As String

    Erase bytBuf
    ReDim bytBuf(0)
    ReDim bytBufA(0)
    
    '-- 必要なバッファサイズを取得する
    lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or EVENTLOG_BACKWARDS_READ, _
                          0&, bytBuf(0), 0, lngBytesRead, lngMinNumberOfBytesNeeded)
    If lngRet = 0& Then
    
        lngLen = lngMinNumberOfBytesNeeded
        ReDim bytBuf(lngLen - 1)
        
        '-- イベントログレコードの取得
        lngRet = ReadEventLog(hEventLog, EVENTLOG_SEQUENTIAL_READ Or
EVENTLOG_BACKWARDS_READ, _
                              0&, bytBuf(0), lngLen, lngBytesRead,
lngMinNumberOfBytesNeeded)

        CopyMemory typLogRec, bytBuf(0), LenB(typLogRec)

        With typLogRec
        '-- イベントログレコードの取得
        Erase bytEdit
        ReDim bytEdit(.DataOffset - .StringOffset)
        CopyMemory bytEdit(0), bytBuf(.StringOffset), UBound(bytEdit)
        strString = StrConv(bytEdit, vbUnicode)
        End With

    End With;

END Function



API、EventLogRecordなどの表記もしてあるのですが、上手くいきません。
これは自分の見解なのですが、
取得できるイベントログ説明文は上記のものが限界なのかもしれないと、考えております。
以上になりますが、なにかお分かりのことや、ご指摘していただけることがあればご教授ください。

宜しくお願いします。

投稿時間:2005/12/17(Sat) 21:02
投稿者名:|ω・`)
Eメール:
URL :
タイトル:
Re: VB6.0によるWindowsイベントログ取得
とりあえずWMIを使った参考を置いておきますね:
hhttp://tinyurl.com/dhcxj

投稿時間:2005/12/17(Sat) 21:10
投稿者名:|ω・`)
Eメール:
URL :
タイトル:
Re: VB6.0によるWindowsイベントログ取得
とりあえずマルチポスト先を書いておきますね:
hhttp://hpcgi1.nifty.com/rucio/mb1/mb1.cgi

投稿時間:2005/12/17(Sat) 21:11
投稿者名:|ω・`)
Eメール:
URL :
タイトル:
Re^2: VB6.0によるWindowsイベントログ取得
> とりあえずマルチポスト先を書いておきますね:
> hhttp://hpcgi1.nifty.com/rucio/mb1/mb1.cgi
…ん、でも、もしかして偽者ですかね…?
リンク先は質問がかなりあいまいですし…

投稿時間:2005/12/19(Mon) 11:11
投稿者名:仁志
Eメール:bye070@yahoo.co.jp
URL :
タイトル:
Re^3: VB6.0によるWindowsイベントログ取得
こんにちわ。仁志です。

|ω・`)さん早急な対応ありがとうございます。

No.5273のURL先のスレッドは自分ではありませんが、
マルチポストをしていたことは、事実です。
早急な結果を求めるあまり、皆さんに不快な思いをさせてしまったことを反省しています。

本当にすいませんでした。

No.5271の回答をもとに検証を行ってみます。
ありがとうございました。

投稿時間:2005/12/19(Mon) 14:59
投稿者名:仁志
Eメール:bye070@yahoo.co.jp
URL :
タイトル:
Re^4: VB6.0によるWindowsイベントログ取得
こんにちは。仁志です。
解決いたしました。

下記のサイトを参考にさせていただいた結果、イベントログの説明を取得できました。
hhttp://wmifun.atinfinity.net/sample/win32_ntlogevent.html

|ω・`)さんありがとうございました。