프로그램의 각종 설정값을 저장하는 방법은 많겠지만(레지 xml등등) 많이쓰이는 ini를 잘 몰랐는데 매번 찾아보기 귀찮아서 퍼와봤다.
1. 클래스
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace Win32Tool
{
public class IniControl
{
[DllImport("kernel32")]
public static extern bool WritePrivateProfileString(string lpAppName, string lpKeyName, string lpString, string lpFileName);
[DllImport("kernel32")]
public static extern uint GetPrivateProfileInt(string lpAppName, string lpKeyName, int nDefault, string lpFileName);
[DllImport("kernel32")]
public static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
}
}
2. 사용예
string inifile = Environment.SystemDirectory + "\\Test.ini";
StringBuilder result = new StringBuilder( 512 );
Win32Tool.IniControl.GetPrivateProfileString( "색션", "키1", "error", result, 512, inifile );
Console.WriteLine( result.ToString() );
uint result2 = Win32Tool.IniControl.GetPrivateProfileInt( "색션", "키2", 0, inifile );
Console.WriteLine( Convert.ToString( result2 ) );
Win32Tool.IniControl.WritePrivateProfileString( "색션", "키3", "설정할값", inifile );
// 출처 : 데브펌