+ SystemEvents.PowerModeChanged += new PowerModeChangedEventHandler(OnPowerModeChanged);
+ SystemEvents.SessionEnding += new SessionEndingEventHandler(OnSessionEnding);
+ }
+
+ public void OnSessionEnding(object sender, SessionEndingEventArgs e)
+ {
+ Controller.Close();
+ }
+
+ public void OnPowerModeChanged(Object sender, PowerModeChangedEventArgs e)
+ {
+ switch (e.Mode)
+ {
+ case PowerModes.Resume:
+ Controller.Initialise();
+ break;
+ case PowerModes.Suspend:
+ Controller.Close();
+ break;
+ case PowerModes.StatusChange:
+ break;
+ }