1 public class INIFileUtil 2 { 3 /// <summary> 4 /// INI文件地址 5 /// </summary> 6 public string path; 7 8 /// <summary> 9 /// 初始化 10 /// </summary> 11 /// <param name="INIPath">路径</param> 12 public INIFileUtil(string INIPath) 13 { 14 this.path = INIPath; 15 } 16 17 /// <summary> 18 /// 构造函数 19 /// </summary> 20 public INIFileUtil() 21 { 22 } 23 24 [DllImport("kernel32",EntryPoint = "WritePrivateProfileString")] 25 private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); 26 [DllImport("kernel32",EntryPoint = "GetPrivateProfileString")] 27 private static extern int GetPrivateProfileString ( string section ,string key , string def , StringBuilder retVal ,int size , string filePath ); 28 [DllImport("kernel32",EntryPoint = "GetPrivateProfileString")] 29 private static extern int GetPrivateProfileString ( string section ,string key , string def , byte[] retVal ,int size , string filePath ); 30 31 /// <summary> 32 /// 写INI文件 33 /// </summary> 34 /// <param name="Section">分组节点</param> 35 /// <param name="Key">关键字</param> 36 /// <param name="Value">值</param> 37 public void IniWriteValue(string Section, string Key, string Value) 38 { 39 INIFileUtil.WritePrivateProfileString(Section, Key, Value, this.path); 40 } 41 42 /// <summary> 43 /// 读取INI文件 44 /// </summary> 45 /// <param name="Section">分组节点</param> 46 /// <param name="Key">关键字</param> 47 /// <returns></returns> 48 public string IniReadValue(string Section, string Key) 49 { 50 StringBuilder stringBuilder = new StringBuilder(255); 51 INIFileUtil.GetPrivateProfileString(Section, Key, "", stringBuilder, 255, this.path); 52 return stringBuilder.ToString(); 53 } 54 55 /// <summary> 56 /// 读取INI文件 57 /// </summary> 58 /// <param name="section"></param> 59 /// <param name="key"></param> 60 /// <returns></returns> 61 public byte[] IniReadValues(string section, string key) 62 { 63 byte[] array = new byte[255]; 64 INIFileUtil.GetPrivateProfileString(section, key, "", array, 255, this.path); 65 return array; 66 } 67 68 /// <summary> 69 /// 删除ini文件下所有段落 70 /// </summary> 71 public void ClearAllSection() 72 { 73 this.IniWriteValue(null, null, null); 74 } 75 76 /// <summary> 77 /// 删除ini文件下指定段落下的所有键 78 /// </summary> 79 /// <param name="Section">指定段</param> 80 public void ClearSection(string Section) 81 { 82 this.IniWriteValue(Section, null, null); 83 } 84 }