using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApp2
{
public class IniHelper
{
[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);
[DllImport("kernel32.dll")]
private static extern int GetPrivateProfileSection(string lpAppName, byte[] lpszReturnBuffer, int nSize, string lpFileName);
/// <summary>
/// 写INI文件
/// </summary>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <param name="Value"></param>
/// <param name="iniFile"></param>
public void IniWriteValue(string Section, string Key, string Value,string iniFile)
{
WritePrivateProfileString(Section, Key, Value, iniFile);
}
/// <summary>
/// 读取Ini文件
/// </summary>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <param name="Value"></param>
/// <returns></returns>
public string IniReadValue(string Section, string Key, string Value)
{
StringBuilder stringBuilder = new StringBuilder(255);
GetPrivateProfileString(Section, Key, "", stringBuilder, 255, Value);
return stringBuilder.ToString();
}
/// <summary>
/// 读取Ini文件某个节点下所有值
/// </summary>
/// <param name="AppName"></param>
/// <param name="Buffer"></param>
/// <param name="Size"></param>
/// <param name="iniFile"></param>
public void IniWriteValue(string AppName, byte[] Buffer, int Size, string iniFile)
{
GetPrivateProfileSection(AppName, Buffer, Size, iniFile);
}
/// <summary>
/// 删除INI文件
/// </summary>
/// <param name="iniFile"></param>
/// <param name="section"></param>
public void IniDeleteSection(string section, string iniFile)
{
WritePrivateProfileString(section, null, null, iniFile);
}
}
}