private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
#region Save Settings
Settings.Default.LastFps = Convert.ToInt32(FpsNumericUpDown.Value);
Settings.Default.Width = (int)Width;
Settings.Default.Height = (int)Height;
Settings.Default.Save();
#endregion
try
{
_actHook.OnMouseActivity -= MouseHookTarget;
_actHook.KeyDown -= KeyHookTarget;
_actHook.Stop(); //Stop the user activity watcher.
}
catch (Exception) { }
SystemEvents.PowerModeChanged -= System_PowerModeChanged;
if (Stage != (int)Stage.Stopped)
{
_preStartTimer.Stop();
_preStartTimer.Dispose();
_capture.Stop();
_capture.Dispose();
}
_trayIcon.Dispose();
// Garbage Collector Timer
_garbageTimer.Stop();
GC.Collect();
}