C# Ini配置文件
2016-04-22 14:23
393 查看
public class INIUserAccound { static IniFile Ini = new IniFile(AppDomain.CurrentDomain.BaseDirectory + @"\Config\User.Ini"); const string Session = "UserInfo"; /// <summary> /// 获得用户名 /// </summary> /// <returns></returns> public static string GetAccound() { return Ini.IniReadValue(Session, "Accound"); } /// <summary> /// 保存用户名 /// </summary> /// <param name="SkinName"></param> public static void SetAccound(string Accound) { Ini.IniWriteValue(Session, "Accound", Accound); } /// <summary> /// 获得密码 /// </summary> /// <returns></returns> public static string GetPwd() { return Ini.IniReadValue(Session, "Pwd"); } /// <summary> /// 保存密码 /// </summary> /// <param name="SkinName"></param> public static void SetPwd(string Pwd) { Ini.IniWriteValue(Session, "Pwd", Pwd); } }
/// <summary> /// 操作INI文件类 测试信息 /// </summary> public class IniFile { const int DATA_SIZE = 1024; private string _path; //INI档 案 名 public string IniPath { get { return _path; } set { _path = value; } } [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] public struct STRINGBUFFER { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = DATA_SIZE)] public string szText; } //读写INI文件的API函数 [DllImport("kernel32", CharSet = CharSet.Auto)] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32", CharSet = CharSet.Auto)] private static extern int GetPrivateProfileString(string section, string key, string def, out STRINGBUFFER retVal, int size, string filePath); //类的构造函数,传递INI档案名 public IniFile(string sPath) { _path = sPath; string path = IniPath.Substring(0, IniPath.LastIndexOf("\\")); if (!Directory.Exists(path)) Directory.CreateDirectory(path); if (!File.Exists(_path)) CreateIniFile(); } //写INI文件 public void IniWriteValue(string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, this._path); } //读取INI文件指定项目的数据 public string IniReadValue(string Section, string Key) { int i; STRINGBUFFER RetVal; i = GetPrivateProfileString(Section, Key, null, out RetVal, DATA_SIZE, this._path); string temp = RetVal.szText; return temp.Trim(); } //读取INI文件指定项目的数据 public string IniReadValue(string Section, string Key, string defaultValue) { int i; STRINGBUFFER RetVal; i = GetPrivateProfileString(Section, Key, null, out RetVal, DATA_SIZE, this._path); string temp = RetVal.szText; return temp.Trim() == "" ? defaultValue : temp.Trim(); } /// <summary> /// 创建INI文件 /// </summary> public void CreateIniFile() { StreamWriter w = File.CreateText(_path); w.Write(""); w.Flush(); w.Close(); } }
相关文章推荐
- 使用C#格式化字符串 ~
- C#带百分比的进度条
- C#实现通过程序自动抓取远程Web网页信息的代码
- C# 参考之方法参数关键字:params、ref及out
- .NET(C#) File类的常用方法
- c#基础(一)
- C#中ToString()格式详解
- C#日志写入
- C# IEnumberable 的用法
- C#文件搜索
- C#_会员管理系统:开发二(会员资料管理界面的‘增删改查’)
- VS C#命令行编译工具CSC使用入门
- VS2010远程调试C#程序
- c#中winform窗体之间的传值
- C# Math.Round中国式的四舍五入法
- C#委托
- C# 非常有用的方法和短句
- C#多线程编程
- C#,数据类型转换,装箱与拆箱概念,数据类型转换方法
- C#界面设计之树目录TreeView的使用