Привет!
Есть ATL EXE service. При старте он пишет события "Service started", "Service stopped" и пр.
Проблема в том, что эти тексты зашиты в код, а значит, не локализуемы.
Кроме того, в качестве имени источника событий там используется имя сервиса.
В общем, эти моменты меня категорически не устраивают.
Соответственно, встал вопрос о запрете на логирование этих событий.
Как это можно сделать?
Пока вижу только вариант с переопределением через #define функции ReportEvent.
Грубо говоря, вот так работает (кусок из stdafx.h):
#include <Windows.h>
#undef ReportEvent
#define ReportEvent
#include <atlbase.h>
#undef ReportEvent
#ifdef UNICODE
#define ReportEvent ReportEventW
#else
#define ReportEvent ReportEventA
#endif // !UNICODE
Есть ли какие-нибудь другие способы добиться желаемого результата?