C#操作ini文件
INI文件格式如下:
[Database]
server=wlq
database=mydatabase
uid=sa
pwd=123456
说明:(有4个key)
Section为:Database
Key为:server database uid pwd
c#申明ini文件的写操作函数writeprivateprofilestring:
[ dllimport ( "kernel32" ) ]
private static extern long writeprivateprofilestring ( string
section ,
string key , string val , string filepath ) ;
参数说明:section:ini文件中的段落;key:ini文件中的关键字;val:ini文件中关键字的数值;filepath:ini文件的完整的路径和名称。
c#申明ini文件的读操作函数getprivateprofilestring:
[ dllimport ( "kernel32" ) ]
private static extern int getprivateprofilestring ( string section ,
string key , string def , stringbuilder retval ,
int size , string filepath ) ;
参数说明:section:ini文件中的段落名称;key:ini文件中的关键字;def:无法读取时候时候的缺省数值;retval:读取数值;size:数值的大小;filepath:ini文件的完整路径和名称。
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
using System.Text;
namespace iniprocess
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button1;
[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);
public void IniWriteValue(string Section,string Key,string Value,string filepath)//对ini文件进行写操作的函数
{
WritePrivateProfileString(Section,Key,Value,filepath);
}
public string IniReadValue(string Section,string Key,string filepath)//对ini文件进行读操作的函数
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section,Key,"",temp,
255, filepath);
return temp.ToString();
}
private void button1_Click(object sender, System.EventArgs e)
{
this.textBox1 .Text= IniReadValue("ODBC 32 bit Data Sources","MS Access Database","e:\\temp\\ODBC.INI");
}
private void button2_Click(object sender, System.EventArgs e)
{
IniWriteValue ("ODBC 32 bit Data Sources","MS Access Database",this.textBox1 .Text,"e:\\temp\\ODBC.INI");
}
}
}