using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; namespace Remember
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//登录
private void btn_Login_Click(object sender, EventArgs e)
{
//记住密码
if (cb_remember.Checked == true)
{
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 = ;
StringBuilder ReStr = new StringBuilder();
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(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;
}
}
}
}


C# winform 记住密码实现代码的更多相关文章

  1. winform 记住密码功能

      //登录        private void btn_Login_Click(object sender, EventArgs e)        {            //记住密码    ...

  2. WinForm——记住密码

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runti ...

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

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

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

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

  5. Cookie实现记住密码代码

    jsp页面 <%-- Created by IntelliJ IDEA. User: 60590 Date: 2019/11/28 Time: 14:10 To change this temp ...

  6. WinForm应用程序的开机自启、记住密码,自动登录的实现

    一.思路: 1.开机自启,自然是需要用到注册表,我们需要把程序添加到电脑的注册表中去 2.记住密码,自动登录,开机自启,在页面的呈现我们都使用复选框按钮来呈现 3.数据持久化,不能是数据库,可以是sq ...

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

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

  8. cookie实现记住密码

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. MiniTwitter记住密码等功能实现

    一.SharedPreferences的用法:(相关实现功能的只是了解) 由于SharedPreferences是一个接口,而且在这个接口里没有提供写入数据和读取数据的能力.但它是通过其Editor接 ...

随机推荐

  1. GridView,datalist添加序号列

    GridView添加序号列:这个是经常需要的一个功能 <asp:TemplateField HeaderText="序号"> <ItemTemplate> ...

  2. UVa 11988 Broken Keyboard (a.k.a. Beiju Text)(链表)

    You're typing a long text with a broken keyboard. Well it's not so badly broken. The only problem wi ...

  3. 给出一个十六进制的数0xFF 0x80 (只有2“位”) 将其转换成有符号的一字节的十进制整数

    #include <stdio.h>#include<iostream>#include <stdlib.h>#include<string.h>usi ...

  4. python之面向对象之继承

    #写一个类SchoolMember class SchoolMember(object): member_num = 0 def __init__(self,name,age,sex): self.n ...

  5. AasyncTask中执行execute()还是executeOnExecutor()

    executeOnExecutor()api 11 才出现的 并行的 效率比execute()高因为execute()是串行的 import android.app.Activity; import ...

  6. 生成静态页html

    代码: using System; using System.Collections; using System.Collections.Generic; using System.IO; using ...

  7. net下载文件方法汇总

    //TransmitFile实现下载 protected void Button1_Click1(object sender, EventArgs e) { /* 微软为Response对象提供了一个 ...

  8. Redis的复制特性

    对于有扩展平台以适应更高负载经验的工程师和管理员来说,复制(replication)是不可或缺的.复制可以让其他服务器拥有一个不断更新的数据副本,从而使得拥有数据副本的服务器可以用于处理客户端发送的读 ...

  9. (转载)Zab vs. Paxos

    原创链接:https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos Is Zab just a special imple ...

  10. code4906 删数问题

    题目: 键盘输入一个高精度的正整数n(<=240位), 去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的n和s,寻找一种方案,使得剩下的数最小. Simple Inp ...