加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C# ini配置文件操作类

发布时间:2020-12-15 19:53:14 所属栏目:百科 来源:网络整理
导读:/// summary /// INI文件操作类 /// /summary public class IniFileHelper { /// summary /// ini配置文件路径 /// /summary private static string strIniFilePath = AppDomain.CurrentDomain.BaseDirectory + " PrintDesigner.ini " ; // 返回0表示失败,
    /// <summary>
    /// INI文件操作类
    /// </summary>
    public class IniFileHelper {
        /// <summary>
        /// ini配置文件路径
        /// </summary>
        private static string strIniFilePath = AppDomain.CurrentDomain.BaseDirectory + "PrintDesigner.ini";

        // 返回0表示失败,非0为成功
        [DllImport("kernel32",CharSet = CharSet.Auto)]
        private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);

        // 返回取得字符串缓冲区的长度
        [DllImport("kernel32",CharSet = CharSet.Auto)]
        private static extern long GetPrivateProfileString(string section,string strDefault,StringBuilder retVal,int size,string filePath);

        [DllImport("Kernel32.dll",CharSet = CharSet.Auto)]
        public static extern int GetPrivateProfileInt(string section,int nDefault,string filePath);

        public IniFileHelper() {

        }

        /// <summary>
        /// 获取ini配置文件中的字符串
        /// </summary>
        /// <param name="section">节名</param>
        /// <param name="key">键名</param>
        /// <param name="strDefault">默认值</param>
        /// <param name="retVal">结果缓冲区</param>
        /// <param name="size">结果缓冲区大小</param>
        /// <returns></returns>
        public static string GetIniString(string section,string strDefault = "") {
            StringBuilder sb = new StringBuilder(1000);
            long liRet = GetPrivateProfileString(section,key,strDefault,sb,sb.Capacity,strIniFilePath);
            return sb.ToString();
        }

        /// <summary>
        /// 获取ini配置文件中的整型值
        /// </summary>
        /// <param name="section">节名</param>
        /// <param name="key">键名</param>
        /// <param name="nDefault">默认值</param>
        /// <returns></returns>
        public static int GetIniInt(string section,int nDefault) {
            return GetPrivateProfileInt(section,nDefault,strIniFilePath);
        }

        /// <summary>
        /// 往ini配置文件写入字符串
        /// </summary>
        /// <param name="section">节名</param>
        /// <param name="key">键名</param>
        /// <param name="val">要写入的字符串</param>
        /// <returns>成功true,失败false</returns>
        public static bool WriteIniString(string section,string val) {
            long liRet = WritePrivateProfileString(section,val,strIniFilePath);
            return (liRet != 0);
        }

        /// <summary>
        /// 往ini配置文件写入整型数据
        /// </summary>
        /// <param name="section">节名</param>
        /// <param name="key">键名</param>
        /// <param name="val">要写入的数据</param>
        /// <returns>成功true,失败false</returns>
        public static bool WriteIniInt(string section,int val) {
            return WriteIniString(section,val.ToString());
        }
    }

?

读取:

tbUserName.Text = IniFileHelper.GetIniString("Config","UserName");

写入:

IniFileHelper.WriteIniString("Config","UserName",User.username);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读