Created
April 2, 2016 13:33
-
-
Save minhphuc429/b4ef9aa1d4713c410397fbdd39e0abd7 to your computer and use it in GitHub Desktop.
A C# class that exposes the INI file handling functions from Kernal32.dll
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.IO; | |
using System.Runtime.InteropServices; | |
using System.Text; | |
namespace Ini | |
{ | |
/// <summary> | |
/// Create a New INI file to store or load data | |
/// </summary> | |
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); | |
/// <summary> | |
/// INIFile Constructor. | |
/// </summary> | |
/// <param name="INIPath"></param> | |
public IniFile(string INIPath) | |
{ | |
path = INIPath; | |
} | |
/// <summary> | |
/// Write Data to the INI File | |
/// </summary> | |
/// <param name="Section"></param> | |
/// Section name | |
/// <param name="Key"></param> | |
/// Key Name | |
/// <param name="Value"></param> | |
/// Value Name | |
public void IniWriteValue(string Section,string Key,string Value) | |
{ | |
WritePrivateProfileString(Section,Key,Value,this.path); | |
} | |
/// <summary> | |
/// Read Data Value From the Ini File | |
/// </summary> | |
/// <param name="Section"></param> | |
/// <param name="Key"></param> | |
/// <param name="Path"></param> | |
/// <returns></returns> | |
public string IniReadValue(string Section,string Key) | |
{ | |
StringBuilder temp = new StringBuilder(255); | |
int i = GetPrivateProfileString(Section,Key,"",temp,255,this.path); | |
return temp.ToString(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Introduction
I created a C# class Ini which exposes 2 functions from KERNEL32.dll. These functions are: WritePrivateProfileString and GetPrivateProfileString
Namespaces you will need:
and
Using the class
Steps to use the Ini class:
In your project namespace definition add
Create a INIFile like this
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).