• 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;
                }
            }

  • 相关阅读:
    [DFNews] Nuix公司推出培训及认证体系
    [CFNews] Oxygen官方对于新版XRY与之冲突问题的官方解释
    [DFNews] FBI Documents Shine Light on Clandestine Cellphone Tracking Tool
    [CFNews] Be first to get Oxygen Forensic Suite 5.0 just before the End of the World!
    [DFNews] CelleBrite发布2013年移动设备取证趋势与预测白皮书
    [转载] Retrieving Data from an iPhone Voicemail Database
    [转载] 我们从未改变:弱密码仍是最常用的密码
    [DFNews] US students get cracking on Chinese malware code
    [转载] 25GPU cluster cracks every standard Windows password in <6 hours
    [手机取证] Forwarding SMS to Email on [Jailbroken] iOS
  • 原文地址:https://www.cnblogs.com/dachuang/p/5340522.html
Copyright © 2020-2023  润新知