프로그램의 값을 저장하기 위해 파일을 만들어서 상태값을 저장하는 경우가 있습니다. 윈도우에서는 이에 대한 방법중 하나로 ini확장자를 가진 파일을 사용합니다.(하지만 실제로 ini보단 레지스트리를 선호합니다.) 저는 개인적으로 레지스트리 보다 ini파일을 선호합니다. ini파일을 읽고 쓰기 위해서는 C#자체 적으로 제공하지 않고 win32를 통해 사용합니다.
using System.Runtime.InteropServices; [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); // INI 값 읽기 public String GetIniValue(String Section, String Key, String iniPath) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(Section, Key, "", temp, 255, iniPath); return temp.ToString(); } // INI 값 설정 public void SetIniValue(String Section, String Key, String Value, String iniPath) { WritePrivateProfileString(Section, Key, Value, iniPath); }
위에 코드를 통해 ini파일에 값을 읽고 쓰게 됩니다. 위에 소스로 만든 샘플코드는 첨부파일에서 확인하실 수 있습니다. 샘플코드 프로젝트는 VisualStudio 2010에서 만들어 졌으며 .NET Framework 2.0이상일 경우 문제없이 실행됩니다.