160 lines
No EOL
5.9 KiB
C#
160 lines
No EOL
5.9 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using Microsoft.Win32;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Trigger.Tasks
|
|
{
|
|
/// <summary>
|
|
/// <para>Logs all events from <see cref="Trigger.Events.System"/></para>
|
|
/// </summary>
|
|
class LogSystemEvents : TaskPlugin
|
|
{
|
|
#region Properties
|
|
internal Main Main;
|
|
internal Log Log;
|
|
#endregion
|
|
|
|
#region Methods
|
|
public override bool Init(Main Main)
|
|
{
|
|
return Init(Main, new System.Diagnostics.Stopwatch());
|
|
}
|
|
public override bool Init(Main Main, System.Diagnostics.Stopwatch swInit)
|
|
{
|
|
if (!Main.EventMgr.PluginExists<Events.System>())
|
|
{
|
|
this.Log.LogLine("Task \"LogSystemEvents\" is missing EventPlugin \"System\"!", Log.Type.Error);
|
|
return false;
|
|
}
|
|
|
|
this.Main = Main;
|
|
this.Log = Main.Log;
|
|
|
|
swInit.Stop();
|
|
Events.System sysEvents = Main.EventMgr.GetPlugin<Events.System>();
|
|
swInit.Start();
|
|
|
|
sysEvents.InstalledFontsChanged += new Events.EventPlugin.Event(sysEvents_InstalledFontsChanged);
|
|
sysEvents.FontAdded += new Events.EventPlugin.EventValue<FontFamily>(sysEvents_FontAdded);
|
|
sysEvents.FontRemoved += new Events.EventPlugin.EventValue<FontFamily>(sysEvents_FontRemoved);
|
|
|
|
sysEvents.Logoff += new Events.EventPlugin.Event(sysEvents_Logoff);
|
|
sysEvents.Shutdown += new Events.EventPlugin.Event(sysEvents_Shutdown);
|
|
|
|
sysEvents.ConsoleConnect += new Events.EventPlugin.Event(sysEvents_ConsoleConnect);
|
|
sysEvents.ConsoleDisconnect += new Events.EventPlugin.Event(sysEvents_ConsoleDisconnect);
|
|
sysEvents.RemoteConnect += new Events.EventPlugin.Event(sysEvents_RemoteConnect);
|
|
sysEvents.RemoteDisconnect += new Events.EventPlugin.Event(sysEvents_RemoteDisconnect);
|
|
sysEvents.SessionLock += new Events.EventPlugin.Event(sysEvents_SessionLock);
|
|
sysEvents.SessionLogoff += new Events.EventPlugin.Event(sysEvents_SessionLogoff);
|
|
sysEvents.SessionLogon += new Events.EventPlugin.Event(sysEvents_SessionLogon);
|
|
sysEvents.SessionRemoteControl += new Events.EventPlugin.Event(sysEvents_SessionRemoteControl);
|
|
sysEvents.SessionUnlock += new Events.EventPlugin.Event(sysEvents_SessionUnlock);
|
|
|
|
return true;
|
|
}
|
|
|
|
public override void Dispose()
|
|
{
|
|
Events.System sysEvents = Main.EventMgr.GetPlugin<Events.System>();
|
|
|
|
sysEvents.InstalledFontsChanged -= new Events.EventPlugin.Event(sysEvents_InstalledFontsChanged);
|
|
sysEvents.FontAdded -= new Events.EventPlugin.EventValue<FontFamily>(sysEvents_FontAdded);
|
|
sysEvents.FontRemoved -= new Events.EventPlugin.EventValue<FontFamily>(sysEvents_FontRemoved);
|
|
|
|
sysEvents.Logoff -= new Events.EventPlugin.Event(sysEvents_Logoff);
|
|
sysEvents.Shutdown -= new Events.EventPlugin.Event(sysEvents_Shutdown);
|
|
|
|
sysEvents.ConsoleConnect -= new Events.EventPlugin.Event(sysEvents_ConsoleConnect);
|
|
sysEvents.ConsoleDisconnect -= new Events.EventPlugin.Event(sysEvents_ConsoleDisconnect);
|
|
sysEvents.RemoteConnect -= new Events.EventPlugin.Event(sysEvents_RemoteConnect);
|
|
sysEvents.RemoteDisconnect -= new Events.EventPlugin.Event(sysEvents_RemoteDisconnect);
|
|
sysEvents.SessionLock -= new Events.EventPlugin.Event(sysEvents_SessionLock);
|
|
sysEvents.SessionLogoff -= new Events.EventPlugin.Event(sysEvents_SessionLogoff);
|
|
sysEvents.SessionLogon -= new Events.EventPlugin.Event(sysEvents_SessionLogon);
|
|
sysEvents.SessionRemoteControl -= new Events.EventPlugin.Event(sysEvents_SessionRemoteControl);
|
|
sysEvents.SessionUnlock -= new Events.EventPlugin.Event(sysEvents_SessionUnlock);
|
|
}
|
|
#endregion
|
|
|
|
#region Event handlers
|
|
void sysEvents_InstalledFontsChanged(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("Tthe user added (a) font(s) to or removes (a) font(s) from the system", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_FontAdded(object sender, Events.EventArgsValue<FontFamily> e)
|
|
{
|
|
this.Log.LogLineDate("The Font \"" + e.Value.Name + "\" was installed", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_FontRemoved(object sender, Events.EventArgsValue<FontFamily> e)
|
|
{
|
|
this.Log.LogLineDate("The Font \"" + e.Value.Name + "\" was removed", Log.Type.SystemEvent);
|
|
}
|
|
|
|
|
|
|
|
|
|
void sysEvents_Logoff(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("The user is trying to log off", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_Shutdown(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("The user is trying to shutdown the system", Log.Type.SystemEvent);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void sysEvents_ConsoleConnect(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has been connected from the console", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_ConsoleDisconnect(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has been disconnected from the console", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_RemoteConnect(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has been connected from a remote connection", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_RemoteDisconnect(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has been disconnected from a remote connection", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_SessionLock(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has been locked", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_SessionLogoff(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A user has logged off from a session", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_SessionLogon(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A user has logged on to a session", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_SessionRemoteControl(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has changed its status to or from remote controlled mode", Log.Type.SystemEvent);
|
|
}
|
|
|
|
void sysEvents_SessionUnlock(object sender, EventArgs e)
|
|
{
|
|
this.Log.LogLineDate("A session has been unlocked", Log.Type.SystemEvent);
|
|
}
|
|
#endregion
|
|
}
|
|
} |