using System;
using System.Runtime.InteropServices;
using System.Text;
public static class IniFile
{
[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 def, StringBuilder retVal,int size, string filePath);
public static void WriteValue(string path, string Section, string Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, path);
}
public static string ReadValue(string path, string Section, string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section, Key, "", temp, 255, path);
return temp.ToString();
}
}
Usage is very simple, simply call IniFile.WriteValue or IniFile.ReadValue with the full path to the INI file, the section name and the configuration key.
mono doesnt like [DllImport("kernel32")]
This solution causes issues when trying to run .net code under mono on linux