IniFileHelper.cs 2.0 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Common
{
    public class IniFileHelper
    {
        [System.Runtime.InteropServices.DllImport("kernel32")]
        //section:要读取的段落名
        //key: 要读取的键点击打开链接点击打开链接
        //defVal: 读取异常的情况下的缺省值
        //retVal: key所对应的值,如果该key不存在则返回空值
        //size: 值允许的大小
        //filePath: INI文件的完整路径和文件名
        private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);

        [System.Runtime.InteropServices.DllImport("kernel32")]
        //section: 要写入的段落名
        //key: 要写入的键,如果该key存在则覆盖写入
        //val: key所对应的值
        //filePath: INI文件的完整路径和文件名
        private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

        /// <summary>    
        /// 读取INI文件    
        /// </summary>    
        /// <param name="section">项目名称(如 [section] )</param>    
        /// <param name="skey">键</param>   
        /// <param name="path">路径</param> 
        public static string ReadValue(string section, string skey, string path)
        {
            StringBuilder temp = new StringBuilder(500);
            GetPrivateProfileString(section, skey, "", temp, 500, path);
            return temp.ToString();
        }

        /// <summary>
        /// 写入ini文件
        /// </summary>
        /// <param name="section">项目名称</param>
        /// <param name="key">键</param>
        /// <param name="value">值</param>
        /// <param name="path">路径</param>
        public static void WriteValue(string section, string key, string value, string path)
        {
            WritePrivateProfileString(section, key, value, path);
        }
    }

}