IniFile ini = new IniFile("./config.ini");

            if (ini.IniReadValue("Settings", "Server") != "")

                servername = ini.IniReadValue("Settings", "Server");

 

            IniFile ini = new IniFile("config.ini");

            ini.IniWriteValue("Settings", "Server", servername);

 

using System.Runtime.InteropServices; 

        public class IniFile

        {

            public string path;

 

            [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);

 

            /// <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();

 

            }

        }