//登录
        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 记住密码功能的更多相关文章

  1. java实现记住密码功能(利用cookie)

    <br> <input type="text" id="userName" name="userName" value=& ...

  2. 通过sharedpreferences实现记住密码功能

    通过sharedpreferences实现记住密码功能

  3. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  4. cookie记住密码功能

    很多门户网站都提供了记住密码功能,虽然现在的浏览器都已经提供了相应的记住密码功能 效果就是你每次进入登录页面后就不需要再进行用户名和密码的输入: 记住密码功能基本都是使用cookie来进行实现的,因此 ...

  5. 【原创】js中利用cookie实现记住密码功能

    在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse res ...

  6. android: SharedPreferences实现记住密码功能

    既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项 ...

  7. vue项目实现记住密码功能

     一.谷歌浏览的残留问题 现在很多的网站都有一个需求是记住密码这个功能,为的是避免用户下次登录的时候繁琐的输入过程. 像是一些主流的浏览器(比如Chrome)都有了这个功能,而且如果你登录了Chrom ...

  8. js中记住密码功能

    js中记住密码功能(在前端实现) 直接上例子(如果你也要实现的话注意改一些变量名称,jsp代码不包含样式) Jsp代码: <form class="am-form tpl-form-l ...

  9. js中利用cookie实现记住密码功能

    在登录界面添加记住密码功能,代码如下: //设置cookie var passKey = '4c05c54d952b11e691d76c0b843ea7f9'; function setCookie( ...

随机推荐

  1. swift基础:第二部分:函数和闭包

    今天本来想利用上午的时间本来打算将swift基础部分学习完的,不巧的是,后台来和我讨论用户评价的接口,讨论过后,商讨出一种可行的方案,十几分钟时间过去了,我拿到将接口介入到已经完成的页面中,完美,终于 ...

  2. Djunit工作记录

    1.下载djunit 解压后放置到eclipse的plugins目录下即可 2.测试程序必须继承DjunitTestCase 3.测试程序完run as DJunitTest 运行 4.在djunit ...

  3. JAVA 学习随笔 : JDK Enhancement Process JEP process

    是时候寻找一个学习JAVA的路径了 ---- JDK Enhancement Process Oracle发布了JDK增强提案与路线图进程,目的在于鼓励OpenJDK提交者贡献点子和扩展以改进Open ...

  4. java中包命名常见规则

    做java的都知道java的包.类.接口.枚举.方法.常量.变量等等模型都有一套约定的命名规则! 学习每一种语言都应该学习对应语法和命名规则,以保持一个良好的编码风格.一来显示自己的专业.二来方便阅读 ...

  5. Android Monkey测试(转载)

    Monkey是一款通过命令行来对我们APP进行测试的工具,可以运行在模拟器里或真机上.它向系统发送伪随机的用户事件流,实现对正应用程序进行压力测试. 官方介绍 :https://developer.a ...

  6. listview和checkbox的冲突的用法

    package com.exaple.music; import java.util.List; import java.util.Timer; import java.util.TimerTask; ...

  7. zabbix_sender自定义监控

    这里推荐这个博客 http://www.ttlsa.com/monitor/zabbix/ 在这里学一遍都不用买书,直接就能玩转zabbix了 回归正题 zabbix相关包下载地址:http://ww ...

  8. AC6102 开发板千兆以太网UDP传输实验2

    AC6102 开发板千兆以太网UDP传输实验 在芯航线AC6102开发板上,设计了一路GMII接口的千兆以太网电路,通过该以太网电路,用户可以将FPGA采集或运算得到的数据传递给其他设备如PC或服务器 ...

  9. ecshop二次开发之常用函数及汇总

    lib_time.php gmtime()说明:获得当前格林威治时间的时间戳 server_timezone()说明:获得服务器的时区 local_mktime($hour = NULL , $min ...

  10. 【转】Eclipse快捷键 10个最有用的快捷键

    转载地址:http://www.open-open.com/bbs/view/1320934157953 Eclipse中10个最有用的快捷键组合  一个Eclipse骨灰级开发者总结了他认为最有用但 ...