天天看點

在C#.NET中如何讀寫INI檔案 from:http://www.linuxmine.com/48287.html

  //寫INI檔案

  [ DllImport ( "kernel32" ) ]

  private static extern bool WritePrivateProfileString ( string section ,string key , string val , string filePath ) ;

  //讀ini檔案(字元

  [ DllImport ( "kernel32" ) ]

  private static extern int GetPrivateProfileString ( string section ,string key , string def , StringBuilder retVal ,int size , string filePath ) ;

  

  //讀ini檔案(數字

  [ DllImport ( "kernel32" ) ]

  private static extern int GetPrivateProfileInt ( string section ,string key , int def , string filePath ) ;

  

  //

  using System;

  using System.IO;

  using System.Runtime.InteropServices;

  using System.Text;

  

  namespace EchonComponentLibrary

  {

  ///

  /// IniFile 的摘要說明。

  ///

  public class IniFile

  {

  private string FFileName;

  

  [DllImport("kernel32")]

  private static extern int GetPrivateProfileInt(

  string lpAppName,

  string lpKeyName,

  int nDefault,

  string lpFileName

  );

  [DllImport("kernel32")]

  private static extern int GetPrivateProfileString(

  string lpAppName,

  string lpKeyName,

  string lpDefault,

  StringBuilder lpReturnedString,

  int nSize,

  string lpFileName

  );

  [DllImport("kernel32")]

  private static extern bool WritePrivateProfileString(

  string lpAppName,

  string lpKeyName,

  string lpString,

  string lpFileName

  );

  

  public IniFile(string filename)

  {

  FFileName = filename;

  }

  public int ReadInt(string section,string key,int def)

  {

  return GetPrivateProfileInt(section,key,def,FFileName);

  }

  public string ReadString(string section,string key,string def)

  {

  StringBuilder temp = new StringBuilder(1024);

  GetPrivateProfileString(section,key,def,temp,1024,FFileName);

  return temp.ToString();

  }

  public void WriteInt(string section,string key,int iVal)

  {

  WritePrivateProfileString(section,key,iVal.ToString(),FFileName);

  }

  public void WriteString(string section,string key,string strVal)

  {

  WritePrivateProfileString(section,key,strVal,FFileName);

  }

  public void DelKey(string section,string key)

  {

  WritePrivateProfileString(section,key,null,FFileName);

  }

  public void DelSection(string section)

  {

  WritePrivateProfileString(section,null,null,FFileName);

  }

  

  }

  }

  

  

  

    

繼續閱讀