using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace CallCenterApi.Common
{
///
/// INI文件的操作类
///
public class IniFile
{
public string Path;
public IniFile(string path)
{
this.Path = path;
}
#region 声明读写INI文件的API函数
[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 defVal, StringBuilder retVal, int size, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath);
#endregion
///
/// 写INI文件
///
/// 段落
/// 键
/// 值
public void IniWriteValue(string section, string key, string iValue)
{
WritePrivateProfileString(section, key, iValue, this.Path);
}
///
/// 读取INI文件
///
/// 段落
/// 键
/// 返回的键值
public string IniReadValue(string section, string key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path);
return temp.ToString();
}
///
/// 读取INI文件
///
/// 段,格式[]
/// 键
/// 返回byte类型的section组或键值组
public byte[] IniReadValues(string section, string key)
{
byte[] temp = new byte[255];
int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path);
return temp;
}
}
}