using System; using System.IO; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Data; using System.Runtime.InteropServices; using System.Text; namespace File_IO { public class inifile { public string Path; public string Section; public string Key; public string value; public inifile(string path) { this.Path=path; } #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
C#代码实现如下
public void openorcreat() { if (File.Exists(Path)) { } else { File.Create(Path); } }
C#代码实现
public string IniReadValue(string Section, string Key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.Path); return temp.ToString(); } public string IniReadValue() { return IniReadValue(Section, Key); }
c#代码实现
public void IniWriteValue() { IniWriteValue(Section, Key, value); } public void IniWriteValue(string Section, string Key, string value) { WritePrivateProfileString(Section, Key, value, this.Path); }
C#代码实现
public void removeKey(string Section, string Key) { IniWriteValue(Section, Key, null); }
C#代码实现
public string[] GetKeyNames(string Section) { byte[] allKeys = IniReadValues(Section, null); string[] keylist; string keynames; ASCIIEncoding scii = new ASCIIEncoding(); keynames = scii.GetString(allKeys); keylist = keynames.Split(new char[1] { ‘\0‘ }); return keylist; }
C#实现
public string[] GetSectionNames() { byte[] allSection = IniReadValues(null, null); string[] sectionList; string sections; ASCIIEncoding ascii = new ASCIIEncoding(); sections = ascii.GetString(allSection); sectionList = sections.Split(new char[1] { ‘\0‘ }); return sectionList; }
C#代码实现
public void removeSection(string Section) { IniWriteValue(Section, null, null); }