作者一直認爲ini文件就是一個文本文件,並且C#中沒有提供直接操作它的類,原本以爲要操作.ini文件需要當成文本文件用System.IO類來讀寫,通過百度搜索查閱,發現可以用Windows api 中的kernel32.dll下的WritePrivateProfileString()和GetPrivateProfileString()來寫入和讀取,遂寫下這篇文章記錄用法。
首先是導入dll,申明函數
[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);
參數說明:section:INI文件中的段落;key:INI文件中的關鍵字;val:INI文件中關鍵字的數值;filePath:INI文件的完整的路徑和名稱。
參數說明:section:INI文件中的段落名稱;key:INI文件中的關鍵字;def:無法讀取時候時候的缺省數值;retVal:讀取數值;size:數值的大小;filePath:INI文件的完整路徑和名稱。
然後是寫入配置:
WritePrivateProfileString("Format", "subject_font_style", comboBoxEx1.SelectedIndex.ToString(), path);
最後是讀取配置:
StringBuilder temp = new StringBuilder(500); GetPrivateProfileString("Format", "subject_font_style", "0", temp, 500, settingsPath); string s = temp.ToString();