질문 & 답변에 관련 내용이 많지만...
널리 사용하시라고 올려 봅니다.
다음과 같이 class를 추가해서 사용하시면
사용하시기 편리 하실거예요.
추신 : 파일명 및 파일 패스(path)를 수정하여 사용하세요. 감사합니다.
//ini 관리 클래스
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);
public static int ReadInteger(string fileName, string IpAppName, string IpKeyName, int Default)
{
try
{
string inifile = fileName; //Path + File
StringBuilder result = new StringBuilder(255);
IniControl.GetPrivateProfileString(IpAppName, IpKeyName, "error", result, 255, inifile);
if (result.ToString() == "error")
{
return Default;
}
else
{
return Convert.ToInt16(result);
}
}
catch
{
return Default;
}
}
public static Boolean ReadBool(string fileName, string IpAppName, string IpKeyName)
{
string inifile = fileName; //Path + File
StringBuilder result = new StringBuilder(255);
IniControl.GetPrivateProfileString(IpAppName, IpKeyName, "error", result, 255, inifile);
if (result.ToString() == "True" || result.ToString() == "1")
{
return true;
}
else
{
return false;
}
}
public static string ReadString(string fileName, string IpAppName, string IpKeyName, string Default)
{
string inifile = fileName; //Path + File
StringBuilder result = new StringBuilder(255);
IniControl.GetPrivateProfileString(IpAppName, IpKeyName, "error", result, 255, inifile);
if (result.ToString() == "error")
{
return Default;
}
else
{
return result.ToString();
}
}
public static string getIni(string fileName, string IpAppName, string IpKeyName)
{
string inifile = fileName; //Path + File
StringBuilder result = new StringBuilder(255);
IniControl.GetPrivateProfileString(IpAppName, IpKeyName, "error", result, 255, inifile);
return result.ToString();
}
public static Boolean setIni(string fileName, string IpAppName, string IpKeyName, string IpValue)
{
string inifile = fileName; //Path + File
IniControl.WritePrivateProfileString(IpAppName, IpKeyName, IpValue, inifile);
return true;
}
public static Boolean setIni(string filePath, string fileName, string IpAppName, string IpKeyName, string IpValue)
{
string inifile = filePath + fileName;
IniControl.WritePrivateProfileString(IpAppName, IpKeyName, IpValue, inifile);
return true;
}
}
질문은 언제나 환영입니다.
즐프하세요.
출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=18&MAEULNO=8&no=1818&page=3