^&^  刚刚前不久处理过这个问题。http://www.codeproject.com/csharp/cs_ini.asp这里有一个封装的ini 处理类 /// <summary>
/// http://www.codeproject.com/csharp/cs_ini.asp
/// </summary>
public class IniFile
{
/// <summary>
/// ini 文件路径
/// </summary>
public string path; /// <summary>
/// 写参数api
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="filePath"></param>
/// <returns></returns>
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,
string key,string val,string filePath); /// <summary>
/// 读参数api
/// </summary>
/// <param name="section"></param>
/// <param name="key"></param>
/// <param name="def"></param>
/// <param name="retVal"></param>
/// <param name="size"></param>
/// <param name="filePath"></param>
/// <returns></returns>
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key,string def, StringBuilder retVal,
int size,string filePath); /// <summary>
/// INIFile Constructor.
/// </summary>
/// <PARAM name="INIPath"></PARAM>
public IniFile(string INIPath)
{
path = INIPath;
}
/// <summary>
/// Write Data to the INI File
/// </summary>
/// <PARAM name="Section"></PARAM>
/// Section name
/// <PARAM name="Key"></PARAM>
/// Key Name
/// <PARAM name="Value"></PARAM>
/// Value Name
public void IniWriteValue(string Section,string Key,string Value)
{
WritePrivateProfileString(Section,Key,Value,this.path);
}
        
/// <summary>
/// Read Data Value From the Ini File
/// </summary>
/// <PARAM name="Section"></PARAM>
/// <PARAM name="Key"></PARAM>
/// <PARAM name="Path"></PARAM>
/// <returns></returns>
public string IniReadValue(string Section,string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section,Key,"",temp, 
255, this.path);
return temp.ToString(); }
}

解决方案 »

  1.   

    using System;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Text;
    namespace Sx_Mdi
    {/// <summary>
    /// Summary description for Class1.
    /// </summary>
    public class IniFile
    {
    //文件INI名称
    public string Path;////声明读写INI文件的API函数 
    [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);
    //类的构造函数,传递INI文件名
    public IniFile(string inipath)
    {
    //
    // TODO: Add constructor logic here
    //
    Path = inipath;
    }//写INI文件
    public void IniWriteValue(string Section,string Key,string Value)
    {
    WritePrivateProfileString(Section,Key,Value,this.Path);}//读取INI文件指定
    public string IniReadValue(string Section,string Key)
    {
    StringBuilder temp = new StringBuilder(255);
    int i = GetPrivateProfileString(Section,Key,"",temp,255,this.Path);
    return temp.ToString();}
    }
    }操作范例:public static SqlConnection MyConnection()
    {
    string sPath;
    string ServerName,userId,sPwd,DataName;sPath = GetPath();
    IniFile ini = new IniFile(sPath);
    ServerName = ini.IniReadValue ("Database","server");
    userId = ini.IniReadValue ("Database","uid");
    sPwd = ini.IniReadValue ("Database","pwd");
    DataName = ini.IniReadValue ("Database","database");
    string strSql = "server =" + ServerName+";uid ="+ userId +";pwd =;database ="+ DataName;
        SqlConnection myConn=new SqlConnection(strSql);
        return myConn; 
    }自己稍微做点修改就行了
      

  2.   

    为什么不用XML做配置文件?无数爽啊
      

  3.   

    win98 下你干么要用.net 直接调用api 算了。上面的类其实就是对api的封装。