Запись в журнал событий Windows из расширения IE в защищенном режиме - происходит сбой при отказе в доступе - PullRequest
0 голосов
/ 11 августа 2010

В BHO, работающем в Internet Explorer в Windows 7 с включенным защищенным режимом, я пытаюсь записать в журнал событий Windows. Я пишу в источник, который уже существует, и он находится в журнале приложений, поэтому я не понимаю, почему это будет заблокировано. Однако мой вызов System.Diagnostics.EventLog.WriteEntry("MySource", "Some message") завершается с ошибкой InvalidOperationException с сообщением «Не удается открыть журнал для источника« XXX ». Возможно, у вас нет прав на запись». Трассировка стека указывает на EventLog.OpenForWrite(String currentMachineName).

Отключение защищенного режима позволяет работать нормально.

По какой-либо причине это не будет разрешено в защищенном режиме, и каким-либо образом я могу зарегистрировать свое BHO как разрешенное для записи в журнал событий или иным образом заставить его работать?

Согласно этой записи вызов OpenForWrite () приводит к вызову UnsafeNativeMethods.RegisterEventSource(this.machineName, this.sourceName);, но документы по этому вопросу меня не доставили.

Я использую .net 2.0

спасибо.

Кросс-пост здесь: msdn_microsoft_ieextensiondevelopment

1 Ответ

1 голос
/ 17 мая 2011

Если вам действительно нужно записать в системный журнал, я бы либо:

  • Создайте сервис и отправляйте на него сообщения - если вы будете регистрировать что-либо с какой-либо регулярностью, я бы сделал это. Но кто пишет кучу сообщений в системный журнал?
  • Тихо запустите крошечное приложение с уровнем доверия до среднего в качестве процесса брокера

Пойдем со вторым вариантом. Несколько способов сделать это, но я дам вам одну идею. Запишите данные для регистрации в файл или реестр в месте с низким уровнем целостности. Затем запустите небольшое приложение со средним уровнем доверия, которое собирает данные и записывает их. Это эффективно? Нет. Но если запись в системный журнал является очень редким событием, это со временем приведет к наименьшим затратам.

Сервисный подход будет менее очевиден для пользователя, но отнимает немного кусочков у компьютера.

См. Запуск процессов из защищенного режима в Общие сведения и работа в защищенном режиме Internet Explorer .

...