public class IniHelp { /// <summary> /// INI文件路径(私有变量) /// </summary> private string _iniPath; [System.Runtime.InteropServices.DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [System.Runtime.InteropServices.DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); /// <summary> /// 设置INI文件路径 /// </summary> /// <param name="iniPath"></param> public void setIni(string iniPath) { _iniPath = iniPath; } /// <summary> /// 写INI文件 /// </summary> /// <param name="Section">配置节</param> /// <param name="Key">键名</param> /// <param name="Value">键值</param> public void IniWriteValue(string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, this._iniPath); } /// <summary> /// 读取INI文件指定 /// </summary> /// <param name="Section">配置节</param> /// <param name="Key">键名</param> public string IniReadValue(string Section, string Key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, this._iniPath); return temp.ToString(); } }
写入举例:
protected void Button_Click(object sender, EventArgs e) { string iniPath = Server.MapPath("./db.ini"); if (!File.Exists(iniPath)) File.Create(iniPath); inihelp.setIni(iniPath); inihelp.IniWriteValue("dbhelp", "server", "."); inihelp.IniWriteValue("dbhelp", "user", "sa"); inihelp.IniWriteValue("dbhelp", "pwd", "123"); }
[dbhelp] server=. user=sa pwd=123
string iniPath = Server.MapPath("./db.ini"); if (File.Exists(iniPath)) { inihelp.setIni(iniPath); Response.Write(inihelp.IniReadValue("dbhelp", "user")); //读配置 }