2007年3月12日星期一

使用C#操作ini文件

使用C#操作ini文件
原作:BLaZiNiX 翻译: dragontt

这个类,封装了Kernal32.dll 中提供的方法来操作ini文件。

简介:

这里创建了一个类,封装了KERNEL32.dll中提供的两个方法,用来操作ini文件。这两个方法是:WritePrivateProfileString 和 GetPrivateProfileString。

需要引用的命名空间为:System.Runtime.InteropServices 和 System.Text



类源文件

using System;

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();



}

}

}




使用这个类

按照下列步骤使用:

1. 在你的项目中加入命名空间的引用

using INI;

2. 创建一个如下的INIFile对象

INIFile ini = new INIFile("C:\\test.ini");

3. 使用IniWriteValue方法在指定的配置节给一个键付值,或者使用IniReadValue方法在指定的一个配置节中读取某个键的值。



如上所述,在C#中非常容易将API函数封装到你的类中。

没有评论: