C#读写ini文件(2)

时间:2022-08-30 18:12:33

可以通过调用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 " );