zoukankan      html  css  js  c++  java
  • 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;
                }
            }

  • 相关阅读:
    hdu 4504(背包最优方案数)
    hdu 4508(完全背包)
    hdu 4509(memset标记)
    hdu 2188
    hdu 2141(二分)
    《算术探索》(高斯) 第一篇(第112目) 总结
    数论概论(Joseph H.Silverman) 定理39.1 连分数的递归公式
    数论概论(Joseph H.Silverman) 定理39.2 连分数相邻收敛项之差定理
    《算术探索》(高斯) 第一篇(第112目) 总结
    有理数的小数表示若无限,则必为无限循环的
  • 原文地址:https://www.cnblogs.com/dachuang/p/5340522.html
Copyright © 2011-2022 走看看