adddisplay

博客园 首页 联系 订阅 管理

一个简单的发邮件小程序,每次打开都要设置一下才能发邮件,何不把它写到系统里,凝是我把它写到注册表里,代码如下:

下面的代码就是把参数写到注册表里,当remember为true时将值保存,为false时清除保存的值

须引入一个命名空间 using Microsoft.Win32;

1 //根据传入值记住我的设置
2   private void Remember(bool remember, string smtpName, string userName, string password, string toName)
3 {
4 try
5 {
6 RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE", true);
7 key = key.CreateSubKey("CheckManage", RegistryKeyPermissionCheck.Default);
8 if (remember)
9 {
10 key.SetValue("passwordMail", password);
11 key.SetValue("usernameMail", userName);
12 key.SetValue("smtpnameMail", smtpName);
13 key.SetValue("tonameMail", toName);
14 key.SetValue("cbMail", remember);
15 }
16 else
17 {
18 if (key.GetValue("usernameMail") != null) key.DeleteValue("usernameMail");
19 if (key.GetValue("passwordMail") != null) key.DeleteValue("passwordMail");
20 if (key.GetValue("smtpnameMail") != null) key.DeleteValue("smtpNameMail");
21 if (key.GetValue("tonameMail") != null) key.DeleteValue("toNameMail");
22 if (key.GetValue("cbMail") != null) key.DeleteValue("cbMail");
23 }
24 }
25 catch { }
26 }

上面那一步只是设置保存值,若要让程序加载时将保存的值赋到对应的文本框里,则要再写一代码来判断是否有无保存值,代码如下:

1 //判断是否被记住我的设置
2 private bool HasRemember()
3 {
4 try
5 {
6 RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\CheckManage", true);
7 object objU = key.GetValue("usernameMail");
8 if (objU != null) { this.textBox1.Text = objU.ToString(); }
9
10 bool IsSelcb = Convert.ToBoolean(key.GetValue("cbMail"));
11 if (IsSelcb != false) { checkBox1.Checked = IsSelcb; }
12
13 object objP = key.GetValue("passwordMail");
14 if (objP != null) this.textBox2.Text = objP.ToString();
15
16 object Smtp = key.GetValue("smtpnameMail");
17 if (Smtp != null) { this.comboBox1.Text = Smtp.ToString(); }
18
19 object To = key.GetValue("tonameMail");
20 if (To != null) { this.textBox3.Text = To.ToString(); }
21
22 return objU != null && objP != null && IsSelcb && Smtp != null && To != null;
23 }
24 catch { return false; }
25 }

好了,这样就完成了,下面这图是我写的发邮件小程序

程序下载http://u.115.com/file/clwyqjmy#MailStart.rar

源码有需要的可以发邮件给我或留下邮箱

posted on 2011-07-06 01:05  adddisplay  阅读(1126)  评论(13)    收藏  举报