Вход в средство просмотра событий в Windows с переполнением стека

Я хочу использовать журнал в моем приложении C ++. Однако я хотел бы использовать средство просмотра событий Windows (10) вместо текстовых файлов. Я обнаружил некоторые странные звонки, которые я даже не знаю, что означают параметры — ReportEvent, OpenEventLog и некоторые другие Функции регистрации событий. Я также не могу использовать управляемый код из-за некоторых ограничений в моем приложении.

Я также пытался использовать код на этом ссылка на сайт, но я получаю ошибки компиляции (пространство имен ‘System’ не определено — кажется, что некоторые включаемые файлы отсутствуют …).

Я не нашел пример кода, который работает еще.

Я был бы признателен за пример кода, если это возможно — просто запись в журнал из локального приложения, встроенного в неуправляемый C ++. Может кто-нибудь помочь?

1

Решение

Ваша ссылка не компилируется, потому что она управляется C ++ (обратите внимание на использование gcnew)

Если все, что вы хотите написать, это строки, это просто, все что вам нужно RegisterEventSource а также ReportEvent,

Это примерно так:

const char* custom_log_name = "MyLogName";

// create registry keys for ACLing described on MSDN: http://msdn2.microsoft.com/en-us/library/aa363648.aspx

HANDLE event_log = RegisterEventSource(NULL, custom_log_name);
const char* message = "I'm in an event log";
ReportEvent(event_log, EVENTLOG_SUCCESS, 0, 0, NULL, 1, 0, &message, NULL);

Это позволяет только для записи строк. Гораздо более сложное (и полезное) ведение журнала возможно, но оно довольно тесно связано с прямым C ++. Если вы можете написать управляемый код для вашего компонента журналирования, с ним станет легче иметь дело

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]