.ini文件是windows的系统配置文件,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。
调用动态库[DllImport(“kernel32”)]保存配置文件
/// <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, //ini文件中的一个字段名 部门 区
string key, //一个键名,通俗讲就是变量名
string val, //键值,也就是变量值
string filePath //完整的INI文件名
);//系统dll导入ini写函数
调用动态库[DllImport(“kernel32”)]读取配置文件值
/// <summary>
/// 读取配置文件值
/// </summary>
/// <param name="section">配置节点名称</param>
/// <param name="key">配置名</param>
/// <param name="def">返回的默认值</param>
/// <param name="retVal">返回StringBuilder Cache对象</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
);//系统dll导入ini读函数
//文件路径名称
string FilePathName = System.AppDomain.CurrentDomain.BaseDirectory + "data.ini";//ini文件名
//存储读出ini内容变量
StringBuilder temp = new StringBuilder();//存储读出ini内容变量
文件路径名称
//文件路径名称
string FilePathName = System.AppDomain.CurrentDomain.BaseDirectory + "data.ini";//ini文件名
存储读出ini内容变量
//存储读出ini内容变量
StringBuilder temp = new StringBuilder();//存储读出ini内容变量
窗体关闭保存配置文件键值
/// <summary>
/// 窗体关闭保存配置文件键值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//按节点及相应的键值向配置文件写入键值
WritePrivateProfileString("PortData配置节点名称", "PortName为键名", "写入键值", FilePathName);//窗口关闭,保存
}
窗体加载读取配置文件
/// <summary>
/// 窗体加载读取配置文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
//读取节点相应键名的键值
GetPrivateProfileString("PortData配置节点名称", "PortName为键值", "COM1返回默认值", temp, 256, FilePathName);//读取ini值,默认是COM1
//显示读取键值
richTextBox1.Text = temp.ToString();
}