95 lines
2.7 KiB
C#
95 lines
2.7 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Runtime.InteropServices;
|
|||
|
|
|
|||
|
|
namespace EAS.Distributed
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// Ini<6E>ļ<EFBFBD><C4BC><EFBFBD>д<EFBFBD>ࡣ
|
|||
|
|
/// </summary>
|
|||
|
|
internal class IniFile
|
|||
|
|
{
|
|||
|
|
#region API
|
|||
|
|
|
|||
|
|
class API
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// дIni<6E>ļ<EFBFBD><C4BC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="section"></param>
|
|||
|
|
/// <param name="key"></param>
|
|||
|
|
/// <param name="val"></param>
|
|||
|
|
/// <param name="filePath"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[DllImport("kernel32")]
|
|||
|
|
public static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>Ini<6E>ļ<EFBFBD><C4BC><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="section"></param>
|
|||
|
|
/// <param name="key"></param>
|
|||
|
|
/// <param name="def"></param>
|
|||
|
|
/// <param name="retVal"></param>
|
|||
|
|
/// <param name="size"></param>
|
|||
|
|
/// <param name="filePath"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[DllImport("kernel32")]
|
|||
|
|
public static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
private string path = string.Empty;
|
|||
|
|
|
|||
|
|
internal IniFile()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
internal IniFile(string path)
|
|||
|
|
{
|
|||
|
|
this.path = path;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// ·<><C2B7><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
internal string FilePath
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return this.path;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
this.path = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// д<><D0B4>Iniָ<69><D6B8><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>ֵ<EFBFBD><D6B5>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="section"><3E>ڡ<EFBFBD></param>
|
|||
|
|
/// <param name="key"><3E><><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name="value">ֵ<><D6B5></param>
|
|||
|
|
internal void WriteValue(string section, string key, string value)
|
|||
|
|
{
|
|||
|
|
API.WritePrivateProfileString(section, key, value, this.path);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ȡIniָ<69><D6B8><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>ֵ
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="section"><3E>ڡ<EFBFBD></param>
|
|||
|
|
/// <param name="key"><3E><><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
internal string ReadValue(string section, string key)
|
|||
|
|
{
|
|||
|
|
StringBuilder dataBuffer = new StringBuilder(1024 * 10);
|
|||
|
|
int i = API.GetPrivateProfileString(section, key, string.Empty, dataBuffer, 1024 * 10, this.path);
|
|||
|
|
return dataBuffer.ToString();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|