ini파일을 간단히...사용하자.
질문 & 답변에 관련 내용이 많지만...
널리 사용하시라고 올려 봅니다.
다음과 같이 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
'Programming > C#' 카테고리의 다른 글
.NET 중복 실행 방지 (0) | 2010.07.16 |
---|---|
App.Config XML읽고 쓰기.. (0) | 2010.07.15 |
C# (윈폼/콘솔) 관련 사이트 (0) | 2010.07.15 |
[펌] 모달리스 다이얼로그 Enter, ESC 키 무시 방법과 소멸 방법 (0) | 2010.07.15 |
Alt+Tab 눌러도 보이지 않게 해보자! (0) | 2010.07.14 |