65 lines
2.1 KiB
C#
65 lines
2.1 KiB
C#
using System.IO;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace SLC1_N
|
|
{
|
|
public class ConfigINI
|
|
{
|
|
public string inipath;
|
|
[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);
|
|
/// <summary>
|
|
/// 构造方法
|
|
/// </summary>
|
|
/// <param name="INIPath">文件路径</param>
|
|
public ConfigINI(string Folder, string INIPath)
|
|
{
|
|
inipath = System.AppDomain.CurrentDomain.BaseDirectory + "Config\\" + Folder + "\\";
|
|
if (!Directory.Exists(inipath))
|
|
{
|
|
Directory.CreateDirectory(inipath);
|
|
}
|
|
inipath += INIPath;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 写入INI文件
|
|
/// </summary>
|
|
/// <param name="Section">项目名称(如 [TypeName] )</param>
|
|
/// <param name="Key">键</param>
|
|
/// <param name="Value">值</param>
|
|
public void IniWriteValue(string Section, string Key, string Value)
|
|
{
|
|
WritePrivateProfileString(Section, Key, Value, this.inipath);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 读出INI文件
|
|
/// </summary>
|
|
/// <param name="Section">项目名称(如 [TypeName] )</param>
|
|
/// <param name="Key">键</param>
|
|
public string IniReadValue(string Section, string Key)
|
|
{
|
|
if (ExistINIFile())
|
|
{
|
|
StringBuilder temp = new StringBuilder(500);
|
|
int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
|
|
return temp.ToString();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证文件是否存在
|
|
/// </summary>
|
|
/// <returns>布尔值</returns>
|
|
public bool ExistINIFile()
|
|
{
|
|
return File.Exists(inipath);
|
|
}
|
|
}
|
|
}
|