Ini設定檔可以使用讀寫文本的方法處理,也可以使用API進行操作。
Ini設定檔的格式如下:
[主鍵名]
子鍵名1 = 索引值1
子鍵名2 = 索引值2
子鍵名3 = 索引值3
……………………
子鍵名n = 索引值n
Kernel32.dll中提供了GetPrivateProfileString和WritePrivateProfileString兩個方法進行Ini檔案的讀寫操作:
public class RWIniFile{ [ DllImport ( "kernel32" ) ] private static extern int GetPrivateProfileString ( string section ,string key , string def , System.Text.StringBuilder retVal ,int size , string filePath ) ; //參數說明:section:INI檔案中的段落名稱;key:INI檔案中的關鍵字;def:無法讀取時候時候的預設數值;retVal:讀取數值;size:數值的大小;filePath:INI檔案的完整路徑和名稱。 //讀取索引值 public static string ReadIni(string 主鍵名,string 子鍵名,string 預設索引值,int 數值大小,string 檔案路徑) { string m_ret=預設索引值; try { System.Text.StringBuilder 傳回值=new System.Text.StringBuilder(預設索引值); GetPrivateProfileString(主鍵名,子鍵名,預設索引值,傳回值,數值大小,檔案路徑); m_ret=傳回值.ToString(); } catch { m_ret=預設索引值; } return m_ret; } [ DllImport ( "kernel32" ) ] private static extern long WritePrivateProfileString ( string section , string key , string val , string filePath ) ; //參數說明:section:INI檔案中的段落;key:INI檔案中的關鍵字;val:INI檔案中關鍵字的數值;filePath:INI檔案的完整的路徑和名稱。 //寫入索引值 public static bool WriteIni(string 主鍵名,string 子鍵名,string 數值,string 檔案路徑) { bool m_ret=true; try { WritePrivateProfileString(主鍵名,子鍵名,數值,檔案路徑); } catch { m_ret=false; } return m_ret; }}