MainForm.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System.Windows.Forms;
  2. using Microsoft.Win32;
  3. using TurnoffMonitorOnLock.IconExtract;
  4. using TurnoffMonitorOnLock.MonitorPowerApi;
  5. namespace TurnoffMonitorOnLock
  6. {
  7. public partial class MainForm : Form
  8. {
  9. public MainForm()
  10. {
  11. InitializeComponent();
  12. var eIcon = IconExtractor.GetMainIcon();
  13. if (null != eIcon)
  14. {
  15. Icon = eIcon;
  16. MinisizeToTray.Icon = eIcon;
  17. }
  18. SystemEvents.SessionSwitch += delegate (object o, SessionSwitchEventArgs args)
  19. {
  20. if (args.Reason == SessionSwitchReason.SessionLock)
  21. MonitorPower.SetMonitorInState(MonitorState.MonitorStateOff);
  22. };
  23. }
  24. private void MainForm_Shown(object sender, System.EventArgs e)
  25. {
  26. if (Program.CommandLineArgs.Count != 0) WindowState = FormWindowState.Minimized;
  27. }
  28. private void MainForm_Resize(object sender, System.EventArgs e)
  29. {
  30. if (WindowState != FormWindowState.Minimized) return;
  31. Hide();
  32. MinisizeToTray.Visible = true;
  33. MinisizeToTray.ShowBalloonTip(5000, Text, "Im here", ToolTipIcon.Info);
  34. }
  35. private void MinisizeToTray_Click(object sender, System.EventArgs e)
  36. {
  37. MinisizeToTray.Visible = false;
  38. Show();
  39. WindowState = FormWindowState.Normal;
  40. }
  41. }
  42. }