protected override void OnStart(string[] args) { var identity = WindowsIdentity.GetCurrent(); var principal = new WindowsPrincipal(identity); if (!principal.IsInRole(WindowsBuiltInRole.Administrator)) { throw new UnauthorizedAccessException(); } logProcessor = new Thread(() => ProcessLogs()); logProcessor.IsBackground = true; logProcessor.Start(); GeneralActivityMonitor.Track += Log; GeneralActivityMonitor.Start(); FileSystemActivityMonitor.Track += Log; FileSystemActivityMonitor.Start(); WebActivityMonitor.Track += Log; WebActivityMonitor.Start(); HookActivityMonitor.Track += Log; HookActivityMonitor.Start(); }
protected override void OnStop() { GeneralActivityMonitor.Track -= Log; GeneralActivityMonitor.Stop(); FileSystemActivityMonitor.Track -= Log; FileSystemActivityMonitor.Stop(); WebActivityMonitor.Track -= Log; WebActivityMonitor.Stop(); HookActivityMonitor.Track -= Log; HookActivityMonitor.Stop(); }