using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.IO;
class IniConfig
{
private string inipath = AppDomain.CurrentDomain.BaseDirectory + "Config.ini";
public bool CanRead()
{
if (File.Exists(inipath))
{
return true;
}
return false;
}
//声明API函数
[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>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</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">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string Section, string Key)
{
StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
return temp.ToString();
}
}
调用方法
IniConfig ic;
private void Form1_Load(object sender, EventArgs e)
{
ic = new IniConfig();
if (!ic.CanRead())
{
ic.IniWriteValue("数据库", "DB_Connect", "server=.;database=XXX;uid=sa;pwd=sa;Connect Timeout=5");
}
}
读取
string AAA=ic.IniReadValue("数据库", "DB_Connect");