using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; namespace cn.sancainet.Resident.health.register.Utils { public class IniFile { #region 声明读写INI文件的API函数 [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath); #endregion public string Path = AppDomain.CurrentDomain.BaseDirectory + "setting.ini"; public IniFile() { if (!File.Exists(Path)) File.Create(Path); } /// /// 写INI文件 /// /// 段落 /// 键 /// 值 public void writeValue(string section, string key, string value) { WritePrivateProfileString(section, key, value, this.Path); } /// /// 读取INI文件 /// /// 段落 /// 键 /// 返回的键值 public string readValue(string section, string key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path); return temp.ToString(); } /// /// 读取INI文件 /// /// 段,格式[] /// 键 /// 返回byte类型的section组或键值组 public byte[] readValuebyte(string section, string key) { byte[] temp = new byte[255]; int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path); return temp; } } }