Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как писать в Event Viewer Добавлено: 03.12.02 22:28  

Автор вопроса:  gorinich
Как записать какое-нибудь событие (кодом на VB ясное дело) в Event Viewer?

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #1
Добавлено: 04.12.02 00:06

Что ты имеешь ввиду, ловушки системных сообщений ?

Ответить

Номер ответа: 2
Автор ответа:
 morozov



Вопросов: 10
Ответов: 7
 Профиль | | #2 Добавлено: 04.12.02 09:13

могу предложить следующий код.

К недостаткам можно отнести что при вставке сообщения в EventLog будут присутсвовать слова "В источнике не найдено описание кода...."

Это тоже говорят можно исправить но я не смог слинковать библиотеку

Option Explicit

Public Const EVENTLOG_SUCCESS = 0

Public Const EVENTLOG_ERROR_TYPE = 1

Public Const EVENTLOG_WARNING_TYPE = 2

Public Const EVENTLOG_INFORMATION_TYPE = 4

Public Const EVENTLOG_AUDIT_SUCCESS = 8

Public Const EVENTLOG_AUDIT_FAILURE = 10

Public Declare Function RegisterEventSource Lib "Advapi32.dll" Alias _

"RegisterEventSourceA" _

(ByVal lpUNCServerName As String, _

ByVal lpSourceName As String) As Long

' The RegisterEventSource function returns a handle that

' can be used with the ReportEvent function to log an event.

' Any source name can be used;

' it will be carried in the event log record so that Event Viewer can use it for filtering.

' HANDLE RegisterEventSource(

' LPCTSTR lpUNCServerName, // server name for source

' LPCTSTR lpSourceName // source name for registered handle

' );

' Parameters

' lpUNCServerName

' Points to a null-terminated string that specifies the Universal Naming Convention (UNC)

' name of the server on which this operation is to be performed.

' If this parameter is NULL, the operation is performed on the local computer.

' lpSourceName

' Points to a null-terminated string that specifies the name of the source referenced

' by the returned handle. The source name must be a subkey of a logfile entry

' under the EventLog key in the registry.

' For example, the source name WinApp would be valid if the registry had the following form:

' HKEY_LOCAL_MACHINE

' System

' CurrentControlSet

' Services

' EventLog

' Application

' WinApp

' Security

' System

' If the source name cannot be found, the event logging service uses the

' Application logfile with no message files for the event identifier or category.

'

' Return Values

' If the function succeeds, the return value is a handle that can be used with the ReportEvent function.

' If the function fails, the return value is NULL. To get extended error information, call GetLastError.

Public Declare Function DeregisterEventSource Lib "Advapi32.dll" (ByVal hEventLog As Long) As Long

' The DeregisterEventSource function closes a handle returned by the RegisterEventSource function.

' BOOL DeregisterEventSource(

' HANDLE hEventLog // handle to event log

' );

' Parameters

' hEventLog

' Identifies the event log whose handle was returned by RegisterEventSource.

' Return Values

' If the function succeeds, the return value is nonzero.

' If the function fails, the return value is zero. To get extended error information, call GetLastError.

Public Declare Function ReportEvent Lib "Advapi32.dll" Alias _

"ReportEventA" _

(ByVal hEventLog As Long, _

ByVal wType As Integer, _

ByVal wCategory As Integer, _

ByVal dwEventID As Long, _

ByVal lpUserSid As Any, _

ByVal wNumStrings As Integer, _

ByVal dwDataSize As Long, _

plpStrings As Long, _

lpRawData As Any) As Boolean

' The ReportEvent function writes an entry at the end of the specified event log.

' BOOL ReportEvent(

' HANDLE hEventLog, // handle returned by RegisterEventSource

' WORD wType, // event type to log

' WORD wCategory, // event category

' DWORD dwEventID, // event identifier

' PSID lpUserSid, // user security identifier (optional)

' WORD wNumStrings, // number of strings to merge with message

' DWORD dwDataSize, // size of binary data, in bytes

' LPCTSTR *lpStrings, // array of strings to merge with message

' LPVOID lpRawData // address of binary data

' );

'Parameters

'hEventLog

' Identifies the event log. This handle is returned by the RegisterEventSource function.

'wType

' Specifies the type of event being logged. This parameter can be one of the following values:

' Value Meaning

' EVENTLOG_ERROR_TYPE Error event

' EVENTLOG_WARNING_TYPE Warning event

' EVENTLOG_INFORMATION_TYPE Information event

' EVENTLOG_AUDIT_SUCCESS Success Audit event

' EVENTLOG_AUDIT_FAILURE Failure Audit event

'

' wCategory

' Specifies the event category. This is source-specific information; the category can have any value.

'dwEventID

' Specifies the event identifier.

' The event identifier specifies the message that goes with this event as an entry in

' the message file associated with the event source.

'lpUserSid

' Points to the current user's security identifier.

' This parameter can be NULL if the security identifier is not required.

'wNumStrings

' Specifies the number of strings in the array pointed to by the lpStrings parameter.

' A value of zero indicates that no strings are present.

'dwDataSize

' Specifies the number of bytes of event-specific raw (binary) data to write to the log.

' If this parameter is zero, no event-specific data is present.

'lpStrings

' Points to a buffer containing an array of null-terminated strings that are merged into

' the message before Event Viewer displays the string to the user.

' This parameter must be a valid pointer (or NULL), even if wNumStrings is zero.

'lpRawData

' Points to the buffer containing the binary data.

' This parameter must be a valid pointer (or NULL), even if the dwDataSize parameter is zero.

' Return Valu

Ответить

Номер ответа: 3
Автор ответа:
 gorinich



Вопросов: 3
Ответов: 3
 Профиль | | #3 Добавлено: 04.12.02 09:48
Я имею ввиду, что мне нужно послать в журнал регистрации событий (в один какой-нибудь) своё собственное сообщение (домашней выделки).

Ответить

Номер ответа: 4
Автор ответа:
 morozov



Вопросов: 10
Ответов: 7
 Профиль | | #4 Добавлено: 04.12.02 13:55

Дорогой

а этот код куда пишет....

Я правда имел в виду NT 2000

Ответить

Номер ответа: 5
Автор ответа:
 Rebel



Вопросов: 32
Ответов: 50
 Web-сайт: rebel.bos.ru
 Профиль | | #5
Добавлено: 06.12.02 03:33

млин, злорово, работает!

тока вот такой квест: прога пишет событие с кодом 10000 (потому и много бреда над сообщенем), а как етот код изменить (хотя я можт просто не вчитался в исходняк), или зареггить в системе новый код про мое событие???

да и еще можно опубликовать тот-же код, толькл с русскими комментариями русскими буквами а не караказяблами - если проблема в Win2000 с перетаскиванием русских слов через буффер обмена - смотри решение проблемы здесь: http://rebel.bos.ru/page.phtml?topic=nt5xfaq§ion=setting&read=18 :))

Ответить

Номер ответа: 6
Автор ответа:
 gorinich



Вопросов: 3
Ответов: 3
 Профиль | | #6 Добавлено: 07.12.02 18:45
Мало чего понял из этого кодословия, но всё-равно спасибо !

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам