usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO;usingSystem.Runtime.InteropServices;namespacedata_migration_desk.utils
{//INI文件操作类
classIniFileHelper
{string strIniFilePath; //ini配置文件路径//返回0表示失败,非0为成功
[DllImport("kernel32", CharSet =CharSet.Auto)]private static extern long WritePrivateProfileString(string section, string key, string val, stringfilePath);//返回取得字符串缓冲区的长度
[DllImport("kernel32", CharSet =CharSet.Auto)]private static extern long GetPrivateProfileString(string section, string key, string strDefault, StringBuilder retVal, int size, stringfilePath);
[DllImport("Kernel32.dll", CharSet =CharSet.Auto)]public static extern int GetPrivateProfileInt(string section, string key, int nDefault, stringfilePath);///
///无参构造函数///
///
publicIniFileHelper()
{this.strIniFilePath = Directory.GetCurrentDirectory() + "\\Properties\\sysconfig.ini";
}///
///有参构造函数///
/// ini配置文件路径
///
public IniFileHelper(stringstrIniFilePath)
{if (strIniFilePath != null)
{this.strIniFilePath =strIniFilePath;
}
}///
///获取ini配置文件中的字符串///
/// 节名
/// 键名
/// 默认值
/// 结果缓冲区
/// 结果缓冲区大小
/// 成功true,失败false
public bool GetIniString(string section, string key, string strDefault, StringBuilder retVal, intsize)
{long liRet =GetPrivateProfileString(section, key, strDefault, retVal, size, strIniFilePath);return (liRet >= 1);
}///
///获取ini配置文件中的整型值///
/// 节名
/// 键名
/// 默认值
///
public int GetIniInt(string section, string key, intnDefault)
{returnGetPrivateProfileInt(section, key, nDefault, strIniFilePath);
}///
///往ini配置文件写入字符串///
/// 节名
/// 键名
/// 要写入的字符串
/// 成功true,失败false
public bool WriteIniString(string section, string key, stringval)
{long liRet =WritePrivateProfileString(section, key, val, strIniFilePath);return (liRet != 0);
}///
///往ini配置文件写入整型数据///
/// 节名
/// 键名
/// 要写入的数据
/// 成功true,失败false
public bool WriteIniInt(string section, string key, intval)
{returnWriteIniString(section, key, val.ToString());
}
}
}