可以通过调用kernel32.dll中的两个api:WritePrivateProfileString,GetPrivateProfileString来实现对ini 文件的读些。
具体实现的代码如下:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices; //DllImport
using System.Text; //StringBuilder
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 " );
}
}
}