winform 记住密码功能

    //登录
        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;
            }
        }

转载于:https://www.cnblogs.com/dachuang/p/5340522.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值