L'écriture aux fenêtres du journal des événements de l'intérieur l'extension IE en mode protégé - échoue avec Accès refusé
-
27-09-2019 - |
Question
Dans un BHO en cours d'exécution dans Internet Explorer sur Windows 7 avec le mode protégé, je suis en train d'écrire à l'journal des événements Windows. Je vous écris à une source qui existe déjà, et il est dans le journal des applications, donc je ne vois pas pourquoi ce serait bloqué. Cependant, mon appel à System.Diagnostics.EventLog.WriteEntry("MySource", "Some message")
échoue avec un InvalidOperationException, avec le message « Impossible d'ouvrir le journal pour la source « XXX ». Vous ne pouvez pas avoir accès en écriture. ». La trace de la pile indique qu'il est à EventLog.OpenForWrite(String currentMachineName)
.
Mise en mode protégé Off fait fonctionner très bien.
Quel est le motif cela ne serait pas autorisé dans le mode protégé, et de toute façon je peux enregistrer mon BHO comme étant autorisé à écrire dans le journal des événements, ou autrement le faire fonctionner?
Selon ce poste la appel à OpenForWrite () se traduit par un appel à UnsafeNativeMethods.RegisterEventSource(this.machineName, this.sourceName);
, mais les docs pour cela ne m'a pas aller plus loin.
J'utilise .net 2.0
merci.
permuté ici:
La solution Si vous avez vraiment besoin d'écrire dans le journal système je serais soit: go Let avec option deux. Quelques façons de le faire, mais je vais vous donner une idée. Écrire les données à être enregistrées dans un fichier ou le registre dans un endroit d'intégrité faible. Puis lancer une petite application élevée à la confiance moyenne qui capte les données et l'écrit. Est-ce efficace? Non, mais si l'écriture sur le journal du système est un événement très rare alors ceci donne moins en tête au fil du temps. L'approche de service sera moins évident pour l'utilisateur, mais prendra un peu de ruban de tarte loin des ressources de l'ordinateur. Voir à partir des processus du mode protégé dans Comprendre et travail en mode protégé d'Internet Explorer .