#region Usings using System; using System.Runtime.InteropServices; using System.Text; #endregion #region INI File Parser //modified from https://www.codeproject.com/articles/1966/an-ini-file-handling-class-using-c?fid=425860&df=90&mpp=25&prof=True&sort=Position&view=Normal&spc=Relaxed&fr=51 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); /// /// INIFile Constructor. /// /// public INIFile(string INIPath) { path = INIPath; } /// /// Write Data to the INI File /// /// /// Section name /// /// Key Name /// /// Value Name public void IniWriteValue(string Section, string Key, string Value) { WritePrivateProfileString(Section, Key, Value, this.path); } /// /// Read Data Value From the Ini File /// /// /// /// /// public string IniReadValue(string Section, string Key, string DefaultValue = "") { try { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path); return temp.ToString(); } catch (Exception) { IniWriteValue(Section, Key, DefaultValue); return IniReadValue(Section, Key); } } } #endregion