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;
}
}
winform 记住密码功能的更多相关文章
- java实现记住密码功能(利用cookie)
<br> <input type="text" id="userName" name="userName" value=& ...
- 通过sharedpreferences实现记住密码功能
通过sharedpreferences实现记住密码功能
- jquery.cookie.js 操作cookie实现记住密码功能的实现代码
jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下. 复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...
- cookie记住密码功能
很多门户网站都提供了记住密码功能,虽然现在的浏览器都已经提供了相应的记住密码功能 效果就是你每次进入登录页面后就不需要再进行用户名和密码的输入: 记住密码功能基本都是使用cookie来进行实现的,因此 ...
- 【原创】js中利用cookie实现记住密码功能
在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse res ...
- android: SharedPreferences实现记住密码功能
既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项 ...
- vue项目实现记住密码功能
一.谷歌浏览的残留问题 现在很多的网站都有一个需求是记住密码这个功能,为的是避免用户下次登录的时候繁琐的输入过程. 像是一些主流的浏览器(比如Chrome)都有了这个功能,而且如果你登录了Chrom ...
- js中记住密码功能
js中记住密码功能(在前端实现) 直接上例子(如果你也要实现的话注意改一些变量名称,jsp代码不包含样式) Jsp代码: <form class="am-form tpl-form-l ...
- js中利用cookie实现记住密码功能
在登录界面添加记住密码功能,代码如下: //设置cookie var passKey = '4c05c54d952b11e691d76c0b843ea7f9'; function setCookie( ...
随机推荐
- Mac下搭建git
一.在本地git库中添加用户名及邮箱 git config --global user.name "username" git config --global user.email ...
- Mac下好用的编辑器VIM GUI版本 VimR 推荐
vim号称是编辑器之神,轮其功能和扩展性的确少有编辑器能比,但是大多数编辑器都有的文件浏览功能它确没有,虽然有些插件可以实现,但用起来都不是很方便,偶然发现了一个GUI版本的VIM,与普通的GUI版本 ...
- Hdu 2845 Beans
Beans Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 通过jxl 读取excel 文件中的日期,并计算时间间隔
java读取excel里面的日期会出现相差8小时的问题. 比如excel里面有一个日期是:2012-7-2 17:14:03秒,用Cell cell=readSheet.getCell(colNo, ...
- ecplise常用快捷键
常用 Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+ ...
- Java 邮件发送
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId&g ...
- gerrit add review标签
添加verifyed标签 http://blog.csdn.net/terence427/article/details/16840697
- mybatis,sql 批量更新
<update id="update81OrderStatus" parameterType="java.util.Map"> update ...
- Java数据结构之字符串模式匹配算法---Brute-Force算法
模式匹配 在字符串匹配问题中,我们期待察看源串 " S串 " 中是否含有目标串 " 串T " (也叫模式串).其中 串S被称为主串,串T被称为子串. 1.如果在 ...
- java是值传递还是引用传递
首先写一个简便的Employee,以便测试使用. class Employee { private String name; public Employee(String name) { this.n ...