C# ini配置文件操作类
/// <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 key, string strDefault, StringBuilder retVal, int size, string filePath); [DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
public static extern int GetPrivateProfileInt(string section, string key, 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 key, string strDefault = "") {
StringBuilder sb = new StringBuilder();
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, string key, int nDefault) {
return GetPrivateProfileInt(section, key, 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 key, string val) {
long liRet = WritePrivateProfileString(section, key, val, strIniFilePath);
return (liRet != );
} /// <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, string key, int val) {
return WriteIniString(section, key, val.ToString());
}
}
读取:
tbUserName.Text = IniFileHelper.GetIniString("Config", "UserName");
写入:
IniFileHelper.WriteIniString("Config", "UserName", User.username);
C# ini配置文件操作类的更多相关文章
- 【个人使用.Net类库】(1)INI配置文件操作类
开发接口程序时,对于接口程序配置的IP地址.端口等都需要是可配置的,而在Win Api原生实现了INI文件的读写操作,因此只需要调用Win Api中的方法即可操作INI配置文件,关键代码就是如何调用W ...
- Ini文件操作类
/// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...
- C# 配置文件操作类
注意添加引用:System.Configuration: using System; using System.Collections.Generic; using System.Text; usin ...
- C# INI配置文件读写类
ini是一种很古老的配置文件,C#操作ini文件借助windows底层ini操作函数,使用起来很方便: public class IniHelper { [DllImport("kernel ...
- 读写INI文件操作类
详情介绍:http://zh.wikipedia.org/wiki/INI%E6%96%87%E4%BB%B6 示例: 下面是一个虚拟的程序,其INI文件有两个小节,前面的小节是用来设置拥有者的信息, ...
- C++[类设计] ini配置文件读写类config
//in Config.h #pragma once #include <windows.h> #include <shlwapi.h> #pragma comment(l ...
- Ini配置文件操作
package cn.com.szhtkj.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOE ...
- .NET程序配置文件操作(ini,cfg,config)
在程序开发过程中,我们一般会用到配置文件来设定一些参数.常见的配置文件格式为 ini, xml, config等. INI .ini文件,通常为初始化文件,是用来存储程序配置信息的文本文件. [Log ...
- 配置文件操作(ini、cfg、xml、config等格式)
配置文件的格式主要有ini.xml.config等,现在对这些格式的配置文件的操作(C#)进行简单说明. INI配置文件操作 调用系统函数GetPrivateProfileString()和Write ...
随机推荐
- C#实现高性能高并发Socket服务器
1.高并发服务器实现一 本文转载 转载地址 2.高并发服务器实现二 本文转载 转载内容在于学习C#实现的高并发服务器 以下个人观点 1 需要注意SocketAsyncEventArgs的使用 2 做到 ...
- c#专业的UVC摄像头深控类库-SharpCamera介绍
SharpCamera是专业的UVC摄像头深控类库.允许您在C#代码内修改摄像头的高级参数,比如亮度.对比度.清晰度.色调.饱和度.伽玛值.白平衡.逆光对比.增益.缩放.焦点.曝光.光圈.全景.倾斜. ...
- 理解了quote和 symbol-list的 关系
'x === (quote x) '(x) === (list 'x)
- 微服务架构 ------ DockerCompose从安装到项目部署
DockerCompose的目的:简化Docker的启动和停止流程,以及编排Docker启动服务与服务之间的关系 DockerCompose的安装:curl -L https://get.daoclo ...
- 基于vue+springboot+docker网站搭建【五】部署vue前端项目
部署vue前端项目 一.下载项目到本地 https://github.com/macrozheng/mall-admin-web 二.npm install 三.修改api配置,改为你接下来要部 ...
- 华为手机usb调试打开后自动关闭怎么办?华为手机 usb调试为什么自动关闭?usb调试老是自动关闭怎么回事?
01 解决方法一依次点击“设置”——“系统”——“开发人员选项”先开启“开发者选项”开关. 02 然后在开启“USB调试”开关后,一并将“'仅充电'模式下允许ADB调试”选项开关打开.这样,华为手机u ...
- iOS11里判断Safari浏览器是无痕模式还是正常模式?
var isPrivate = false; try { window.openDatabase(null, null, null, null); } catch (_) { isPrivate = ...
- Yii2实现即可以美化路由访问又可以原始路由访问
1. 本地环境 nginx version: nginx/1.11.1 PHP 7.1.0-dev (cli) mysql Ver 14.14 Distrib 5.7.22, for Linux (x ...
- Nginx 核心配置-作为下载服务器配置
Nginx 核心配置-作为下载服务器配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.无限速版本的下载服务器 1>.查看主配置文件 [root@node101.yinz ...
- Rikka with Travels(2019年杭电多校第九场07题+HDU6686+树形dp)
目录 题目链接 题意 思路 代码 题目链接 传送门 题意 定义\(L(a,b)\)为结点\(a\)到结点\(b\)的路径上的结点数,问有种\(pair(L(a,b),L(c,d))\)取值,其中结点\ ...