,

툴의 환경 설정을 INI로 저장하기에 간단히 만든 INI 다루는 클래스입니다.


using System;
using System.Runtime.InteropServices;
using System.Text;

public class INIManager
{
	private String m_strINIPath;

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

	public INIManager(String INIPath)
	{
		m_strINIPath = INIPath;
	}

	public bool ExistINI()
	{
		return File.Exists(m_strINIPath);
	}

	public void WriteValue(String strSection, String strKey, String strValue)
	{
		WritePrivateProfileString(strSection, strKey, strValue, m_strINIPath);
	}

	public void DeleteSection(String strSection)
	{
		WritePrivateProfileString(strSection, null, null, m_strINIPath);
	}
	
	public string ReadValue(String strSection, String Key)
	{
		StringBuilder strValue = new StringBuilder(255);
		int i = GetPrivateProfileString(strSection, Key, "", strValue, 255, m_strINIPath);
		return strValue.ToString();
	}
}


  1. BlogIcon 구차니 2010.05.19 10:35 신고

    음.. INI 파일이나 각종 환경설정파일에서 파싱하는게 참 신기했는데
    별도로 제공되는 API는 없다고 들었거든요. c#은 이렇다 치고 linux나 mfc에서는 어떻게 해야 하나요? ^^;

    • BlogIcon 친절한티스 2010.05.19 17:27 신고

      MFC에서도 위의 API 함수로 쓸수 있어요~
      본문에 쓴것도 C# 자체 함수라기 보다 Win32 API를 가져다 쓰는거니.. ㅋㅋㅋ

+ Recent posts