--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel;\r
+using System.Data;\r
+using System.Drawing;\r
+using System.Text;\r
+using System.Windows.Forms;\r
+using Microsoft.Win32;\r
+\r
+namespace TestWinForms\r
+{\r
+ public partial class MailNotifier : Form\r
+ {\r
+ private MessengerAPI.Messenger Messenger;\r
+ private RegistryKey AppRegKey;\r
+\r
+ public MailNotifier()\r
+ {\r
+ InitializeComponent();\r
+\r
+ Messenger = new MessengerAPI.Messenger();\r
+ AppRegKey = Registry.CurrentUser.CreateSubKey("Software\\MailNotifier");\r
+\r
+ for (int i = 1; i < 99; i++)\r
+ cmbComPort.Items.Add("COM" + i.ToString());\r
+ \r
+ cmbComPort.SelectedIndex = System.Convert.ToInt32(AppRegKey.GetValue("Port", "1")) - 1;\r
+ serSerialPort.PortName = cmbComPort.Text;\r
+\r
+ nicoNotifyIcon.Icon = this.Icon;\r
+ nicoNotifyIcon.MouseClick += new MouseEventHandler(TrayIconClick);\r
+ }\r
+\r
+ private void MailNotifier_Load(object sender, EventArgs e)\r
+ {\r
+ Messenger.OnUnreadEmailChange += new MessengerAPI.DMessengerEvents_OnUnreadEmailChangeEventHandler(NewEmail);\r
+ NotifyLight(Messenger.get_UnreadEmailCount(MessengerAPI.MUAFOLDER.MUAFOLDER_INBOX) > 0);\r
+\r
+ Hide();\r
+ }\r
+\r
+ private void TrayIconClick(object sender, MouseEventArgs e)\r
+ {\r
+ this.Show();\r
+ this.WindowState = FormWindowState.Normal;\r
+ }\r
+\r
+ private void NewEmail(MessengerAPI.MUAFOLDER folder, int amount, ref bool enableDefault)\r
+ {\r
+ if (folder == MessengerAPI.MUAFOLDER.MUAFOLDER_INBOX)\r
+ NotifyLight(amount > 0);\r
+ }\r
+\r
+ private void NotifyLight(bool ShowGreen)\r
+ {\r
+ char[] buffer = new char[1];\r
+ buffer[0] = ShowGreen ? '0' : '1';\r
+\r
+ try\r
+ {\r
+ serSerialPort.Open();\r
+ serSerialPort.Write(buffer, 0, 1);\r
+ serSerialPort.Close();\r
+ }\r
+ catch (Exception e)\r
+ {\r
+\r
+ }\r
+ }\r
+\r
+ private void btnExit_Click(object sender, EventArgs e)\r
+ {\r
+ Application.Exit();\r
+ }\r
+\r
+ private void cmbComPort_SelectedIndexChanged(object sender, EventArgs e)\r
+ {\r
+ AppRegKey.SetValue("Port", cmbComPort.SelectedIndex + 1);\r
+ serSerialPort.PortName = cmbComPort.Text;\r
+\r
+ for (int i = 0; i < 5; i++)\r
+ {\r
+ NotifyLight(true);\r
+ System.Threading.Thread.Sleep(20);\r
+ NotifyLight(false);\r
+ System.Threading.Thread.Sleep(20);\r
+ }\r
+\r
+ NotifyLight(Messenger.get_UnreadEmailCount(MessengerAPI.MUAFOLDER.MUAFOLDER_INBOX) > 0);\r
+ }\r
+\r
+ private void btnMinimize_Click(object sender, EventArgs e)\r
+ {\r
+ this.Hide();\r
+ }\r
+ }\r
+}\r