Introduction
I created a C# class Ini
which exposes 2 functions from KERNEL32.dll.
These functions are: WritePrivateProfileString
and
GetPrivateProfileString
Namespaces you will need: System.Runtime.InteropServices
and System.Text
The Class
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Ini
{
public class IniFile
{
public string path;
[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 IniFile(string INIPath)
{
path = INIPath;
}
public void IniWriteValue(string Section,string Key,string Value)
{
WritePrivateProfileString(Section,Key,Value,this.path);
}
public string IniReadValue(string Section,string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section,Key,"",temp,
255, this.path);
return temp.ToString();
}
}
}
Using the class
Steps to use the Ini
class:
- In your project namespace definition add
using INI;
- Create a INIFile like this
INIFile ini = new INIFile("C:\\test.ini");
- Use
IniWriteValue
to write a new value to a specific key in a section
or use IniReadValue
to read a value FROM a key in a specific Section.
That's all. It's very easy in C# to include API functions in your
class(es).