using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace MyCommanHelper { /// <summary> /// 操作ini配置文件 /// </summary> public class INIHelper { // Methods #region DLL导入函数 /// <summary> /// 获取指定条目值 /// </summary> /// <param name="section">小结</param> /// <param name="key">条目</param> /// <param name="def">默认返回值</param> /// <param name="retVal">返回值缓冲区</param> /// <param name="size">缓冲区的最大字符数量 </param> /// <param name="filePath">查找文件路径、名字</param> /// <returns></returns> [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); /// <summary> /// 写入指定条目值 /// </summary> /// <param name="section">小结</param> /// <param name="key">条目</param> /// <param name="val">写入的字串值</param> /// <param name="filePath">初始化文件的路径、名字</param> /// <returns></returns> [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); #endregion #region 方法 /// <summary> /// 读条目值 /// </summary> /// <param name="sIniPath">文件路径名</param> /// <param name="Section">小结</param> /// <param name="Key">条目</param> /// <returns></returns> public static string IniReadValue(string sIniPath, string Section, string Key) { StringBuilder retVal = new StringBuilder(0xff); int num = GetPrivateProfileString(Section, Key, "", retVal, 0xff, sIniPath); return retVal.ToString(); } /// <summary> /// 写条目值 /// </summary> /// <param name="sIniPath">文件路径名</param> /// <param name="Section">小结</param> /// <param name="Key">条目</param> /// <param name="Value">写入字符串值</param> public static void IniWriteValue(string sIniPath, string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, sIniPath); } #endregion } }