2 using System.Collections.Generic;
3 using System.ComponentModel;
7 using System.Windows.Forms;
10 namespace TestWinForms
12 public partial class MailNotifier : Form
14 private MessengerAPI.Messenger Messenger;
15 private RegistryKey AppRegKey;
19 InitializeComponent();
21 Messenger = new MessengerAPI.Messenger();
22 AppRegKey = Registry.CurrentUser.CreateSubKey("Software\\MailNotifier");
24 for (int i = 1; i < 99; i++)
25 cmbComPort.Items.Add("COM" + i.ToString());
27 cmbComPort.SelectedIndex = System.Convert.ToInt32(AppRegKey.GetValue("Port", "1")) - 1;
28 serSerialPort.PortName = cmbComPort.Text;
30 nicoNotifyIcon.Icon = this.Icon;
31 nicoNotifyIcon.MouseClick += new MouseEventHandler(TrayIconClick);
34 private void MailNotifier_Load(object sender, EventArgs e)
36 Messenger.OnUnreadEmailChange += new MessengerAPI.DMessengerEvents_OnUnreadEmailChangeEventHandler(NewEmail);
37 NotifyLight(Messenger.get_UnreadEmailCount(MessengerAPI.MUAFOLDER.MUAFOLDER_INBOX) > 0);
42 private void TrayIconClick(object sender, MouseEventArgs e)
45 this.WindowState = FormWindowState.Normal;
48 private void NewEmail(MessengerAPI.MUAFOLDER folder, int amount, ref bool enableDefault)
50 if (folder == MessengerAPI.MUAFOLDER.MUAFOLDER_INBOX)
51 NotifyLight(amount > 0);
54 private void NotifyLight(bool ShowGreen)
56 char[] buffer = new char[1];
57 buffer[0] = ShowGreen ? '0' : '1';
62 serSerialPort.Write(buffer, 0, 1);
63 serSerialPort.Close();
71 private void btnExit_Click(object sender, EventArgs e)
76 private void cmbComPort_SelectedIndexChanged(object sender, EventArgs e)
78 AppRegKey.SetValue("Port", cmbComPort.SelectedIndex + 1);
79 serSerialPort.PortName = cmbComPort.Text;
81 for (int i = 0; i < 5; i++)
84 System.Threading.Thread.Sleep(20);
86 System.Threading.Thread.Sleep(20);
89 NotifyLight(Messenger.get_UnreadEmailCount(MessengerAPI.MUAFOLDER.MUAFOLDER_INBOX) > 0);
92 private void btnMinimize_Click(object sender, EventArgs e)