码迷,mamicode.com
首页 > Windows程序 > 详细

winform 记住密码功能

时间:2016-03-31 12:30:34      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

    //登录
        private void btn_Login_Click(object sender, EventArgs e)
        {
            //记住密码
            if (cb_remember.Checked == true)
            {

      //把用户名和密码写入到程序运行目录的xtflz.dll文件中
                WriteIni("My Section", this.tb_UserName.Text.ToString(), this.tb_Password.Text.ToString(),
                    string.Format(@"{0}\xtflz.dll", Application.StartupPath));
                MessageBox.Show("写入成功");
            }
            else
            {
                WriteIni("My Section", this.tb_UserName.Text.ToString(), "",
                        string.Format(@"{0}\xtflz.dll", Application.StartupPath));
            }
        }
        #region 登录记住密码
        /// <summary>
        /// 提供INI文件的写操作(如Key和Value都为空(null), 则删除Section指定的节下所有键值(包括节名)[如Value为空(null), 则删除Section节下Key键值])      
        /// </summary>       
        /// <param name="Section">指定的节名</param>       
        /// <param name="Key">指定的键名</param>       
        /// <param name="Value">Key的值(请将相应的类型ing,long...转换为string类型)</param>       
        /// <param name="FilePath">INI文件全路径</param>       
        /// <returns></returns>       
        public static bool WriteIni(string Section, string Key, string Value, string FilePath)
        {
            //成功返回非零           
            long lRe = WritePrivateProfileString(Section, Key, Value, FilePath);
            return lRe == 0L ? false : true;
        }
        /// <summary>       
        /// 提供INI文件的读操作       
        /// </summary>       
        /// <param name="Section">指定的节名</param>       
        /// <param name="Key">指定的键名</param>       
        /// <param name="FilePath">INI文件全路径</param>       
        /// <returns>请将string类型转换为相应int,long的类型(返回值不应超过255字符)</returns>       
        public static string ReadIni(string Section, string Key, string FilePath)
        {
            int Size = 255;
            StringBuilder ReStr = new StringBuilder(255);
            GetPrivateProfileString(Section, Key, "ERROR...", ReStr, Size, FilePath);
            if (ReStr.ToString() == "ERROR...")
            {
                return null;
            }
            return ReStr.ToString();
        }
        /// <summary>       
        /// C#申明INI文件的写操作函数WritePrivateProfileString()
        /// </summary>       
        /// <param name="Section"></param>
        /// <param name="Key"></param>
        /// <param name="Value"></param>       
        /// <param name="FilePath"></param>       
        /// <returns></returns>       
        //读写INI文件功能       
        [System.Runtime.InteropServices.DllImport("kernel32")]
        public static extern long WritePrivateProfileString(string Section,
            //指定的节名   
            string Key,
            //指定的键名          
            string Value,
            string FilePath);
        /// <summary>       
        /// C#申明INI文件的读操作函数GetPrivateProfileString       
        /// </summary>       
        /// <param name="Section"></param>       
        /// <param name="key"></param>       
        /// <param name="Def"></param>       
        /// <param name="RetVal"></param>       
        /// <param name="Size"></param>       
        /// <param name="FilePath"></param>       
        /// <returns></returns>       
        [System.Runtime.InteropServices.DllImport("kernel32")]
        public static extern int GetPrivateProfileString(string Section,
            //指定的节名
            string key,
            //指定的键名
            string Def,
            //如果未取得正确的值则返回自定义的字符串
            StringBuilder RetVal,
            //保存字符串值
            int Size,
            //指定RetVal的长度
            string FilePath);
        //ini文件路径(如果ini文件不在操作系统文件夹内,则必须指定ini文件的绝对路径)
        #endregion 登录记住密码
        private void tb_UserName_TextChanged_1(object sender, EventArgs e)
        {
            string s = this.tb_UserName.Text.ToString();
            string result = ReadIni("My Section", s, string.Format(@"{0}\xtflz.dll", Application.StartupPath));
            if (result == null || result == "")
            {
                this.tb_Password.Text = "";
                this.cb_remember.Checked = false;
            }
            else
            {
                this.tb_Password.Text = result;
                this.cb_remember.Checked = true;
            }
        }

winform 记住密码功能

标签:

原文地址:http://www.cnblogs.com/dachuang/p/5340522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!