using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace MeiDuShaV1.Business
{
public class INIManager
{
/*原型
* BOOL WritePrivateProfileString(
LPCTSTR lpAppName, //是INI文件中的一个字段名.
LPCTSTR lpKeyName, //是lpAppName下的一个键名,通俗讲就是变量名.
LPCTSTR lpString, //是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.
LPCTSTR lpFileName //文件路径
* );
*/
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
/* DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault, //如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
* ); */
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
private string filePath;
public INIManager(string filePath)
{
this.filePath = filePath;
}
public void Write(string section ,string key,string value)
{
try
{
WritePrivateProfileString(section, key, value, filePath);
}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}
}
public string Read(string section ,string key)
{
try
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(section, key, string.Empty, temp, 255, filePath);
return temp.ToString();
}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}
}
}
}
