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 }