//登录
        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. ADT(Android Developer Tools) GIT功能不全,远程提交的时候账户密码不能保存账户和密码解决方式

    需要安装Eclipse的GIT插件EGIT http://download.eclipse.org/egit/updates/

  2. PHP的启动与终止

    1.2 PHP的启动与终止 PHP程序的启动可以看作有两个概念上的启动,终止也有两个概念上的终止. 其中一个是PHP作为Apache(拿它举例,板砖勿扔)的一个模块的启动与终止, 这次启动php会初始 ...

  3. linux-bash shell学习

    什么是shell?shell就相当于是计算机给我提供的一个操作系统的接口,这里说的bash shell是一种命令行方面的软件,提供给用户来操作系统.

  4. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  5. 源代码编译安装Python3.5.2

    由于没有找到Python3.5的rpm安装包,因此进行源代码编译安装 1.下载Python3.5.2 [root@seastar ~]# cd /usr/local/src [root@seastar ...

  6. ResultSet用法集锦

    ResultSet用法集锦 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是结果集并不仅仅具有存储的功能,他同时还具有操纵数据的功能,可能完成对数 ...

  7. js中的this,call及apply

    在前端网看了这么一篇文章,觉得讲得还不错,不深入但易懂,所以我这里把这个经典的问题也记下来. 1:声明式函数与定义函数表达式 console.log(f1);//f1() console.log(f2 ...

  8. PHP开发环境配置~Windows 7 IIS

    1.配置IIS添加角色服务:CGI.ISAPI扩展.ISAPI筛选器 2.下载PHP安装包 http://windows.php.net/download/ 3.添加模块映射 4.配置php.ini ...

  9. Redis的Replication(复制)

    文件并发(日志处理)--队列--Redis+Log4Net 分布式中使用Redis实现Session共享(二) http://www.cnblogs.com/stephen-liu74/archive ...

  10. gerrit session expired 怎么解决,搜索未果

    gerrit session expired,怎么解决,搜索未果