小旭 发表于 2013-1-26 16:02:18

ini 文件的应用

一、什么是INI 文件?
        INI 文件 在Windows 系统中 最重要的是 “system.ini”、“System32.ini”和“Win.ini” 该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI 文件,来改变应用程序和系统的很多配置。
 
二、INI 文件格式
      INI 文件是一种按照特定方式排列的文件。每一个INI 文件构成都非常类似,由若干段落(Section)组成,在每个带括号的标题下面,是若干个一单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)
 
           
                  KeyWord1=value1
                  KeyWord2=value2
            
                   KeyWord3=value3
                   KeyWord4=value4
三、INI 文件编程
       (1)INI 文件使用的必要性
                INI 文件是记录自身信息,例如绿色软件是必须用到的INI 文件
       (2)INI 文件使用的地方
                INI 文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,在C#编程方面,因为INI 属于非托管代码,而C#使用的类库都是托管代码,因此需要使用WIN32的API函数访问托管COM对象,进行对INI 文件的读写
C#操作INI文件需要用到Windows 系统自带WIN32的API函数 WritePrivateProfileString() 和 GetPrivateProfileString() 函数,这两个函数都位于Kernel32.dll 文件中。
 
四、C#调用API 操作INI 文件
      操作INI 文件所使用到的三个API 函数:
     
      WritePrivateProfileString()   INI 文件写的函数
 
      GetPrivateProfileString()  和 GetPrivateProfileInt()  INI 文件读的函数
      这两个的区别是   前者读入字符串 后者读入整型值
 
五、C#声明INI文件的读写操作函数
     WriteProvateProfileString() 申明:
    
     private static extern long WriteProvateProfileString(string section,string key , string val,string filePath);
参数说明:
section : INI 文件中的段落名称;
key: INI 文件中的关字;
val:INI 文件中关键字的数值;
filePath:INI 文件的完整的路径和名称;
 
     GetPrivateProfileString() 申明:
    
     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 文件的完整路径和名称。
 
六、读写INI 文件的类的例子:
using System.Runtime.InteropServices;using System.Text;nameSpace INIFile{   public class INIClass   {         public string inipath;   //ini文件名称(带路径)                  private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);                  private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);///<summary>///构造方法///</summary>///<param name="INIPath">文件路径</param>public INIClass(string INIPath){   inipath=INIPath;}///<summary>///写入INI文件///</summary>///<param name="Section">项目名称(如TypeName)</param>///<param name="key">键</param>///<param name="value">值</param>public void IniWriteValue(string Section,string key,string Value){      WritePrivateProfileString(Section,key,value,this.inipath);}///<summary>///读出INI 文件///<summary>///<param name"Section">项目名称</param>///<param name="Key">键</param>public string IniReadValue(string Section,string Key){   StringBuilder temp=new StringBuilder(500);   int i=GetPrivateProfileString(Section,key,"",temp,500,this.inipath);   return temp.ToString();}///<summary>///验证文件是否存在///</summary>///<returns>布尔值</returns>public bool ExistINIFile(){    return File.Exists(inipath);}   }} 
INI 文件引用连接  http://www.cnblogs.com/wakerobin/archive/2009/09/11/1564993.html
 
关于C#操作INI文件的总结
页: [1]
查看完整版本: ini 文件的应用