using System;
using System.Runtime.InteropServices;
using System.Text;

namespace connectCMCC.Utils
{
/// <summary>
/// INI文件操作辅助类
/// </summary>
public class IniFileUtil
{
public string path;

/// <summary>
/// 传入INI文件路径构造对象
/// </summary>
/// <param name="iniPath">INI文件路径</param>
public IniFileUtil(string iniPath)
{
path = iniPath;
}

[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")]
private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal,
int size, string filePath);

/// <summary>
/// 写INI文件
/// </summary>
/// <param name="section">分组节点</param>
/// <param name="key">关键字</param>
/// <param name="value">值</param>
public void IniWriteValue(string section, string key, string value)
{
WritePrivateProfileString(section, key, value, path);
}

/// <summary>
/// 读取INI文件
/// </summary>
/// <param name="section">分组节点</param>
/// <param name="key">关键字</param>
/// <returns></returns>
public string IniReadValue(string section, string key)
{
var temp = new StringBuilder(255);
int i = GetPrivateProfileString(section, key, "", temp, 255, path);
return temp.ToString();
}

public byte[] IniReadValues(string section, string key)
{
var temp = new byte[255];
int i = GetPrivateProfileString(section, key, "", temp, 255, path);
return temp;
}

/// <summary>
/// 删除ini文件下所有段落
/// </summary>
public void ClearAllSection()
{
IniWriteValue(null, null, null);
}

/// <summary>
/// 删除ini文件下指定段落下的所有键
/// </summary>
/// <param name="section"></param>
public void ClearSection(string section)
{
IniWriteValue(section, null, null);
}
}
}

winform INI文件操作辅助类的更多相关文章

  1. ini文件操作

    Config.ini 文件操作 [SYS] sysname=hy company=hyhy tel=2 using System; using System.Collections.Generic; ...

  2. ini 文件操作记要(1): 使用 TIniFile

    ini 文件操作记要(1): 使用 TIniFile unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Class ...

  3. Ini文件操作类

    /// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...

  4. C# ini文件操作【源码下载】

    介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函 ...

  5. C#读写ini文件操作

    ini文件,是windows操作系统下的配置文件,ini文件是一种按照特点方式排列的文本文件,它的构成分为三部分,结构如下: [Section1] key 1 = value2 key 1 = val ...

  6. C# Ini文件操作

    在开源中国看到的操作ini文件的,写的还不看,留着以后用 using System; using System.IO; using System.Runtime.InteropServices; us ...

  7. 读写INI文件操作类

    详情介绍:http://zh.wikipedia.org/wiki/INI%E6%96%87%E4%BB%B6 示例: 下面是一个虚拟的程序,其INI文件有两个小节,前面的小节是用来设置拥有者的信息, ...

  8. python基础——15(加密、excel操作、ini文件操作、xml操作模块及数据格式分类)

    一.加密模块 1.有解密的加密方式(base64) #base64加密 import base64 str_encrypt = input("输入要加密的字符串:\n") base ...

  9. winform IO文件操作

    最近做了一个查错工具,运用了winform文件操作的知识,做了几点总结,不全面,只总结了几点项目里用过的知识(关于以下内容只是个人的理解和总结,不对的地方请多指教,有补充的可以评论留言大家一起讨论学习 ...

随机推荐

  1. 关于androidManifest.xml的概叙以及intent-filter的详细分析

    AndroidManifest.xml配置文件对于Android应用开发来说是比较细但又很重要的基础知识,本文旨在总结该配置文件中常用到的几个属性,以便日后查阅,至于那些比较细的属性,主要是平时开发比 ...

  2. #技塑人生# windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常

    windows2008无法远程— 注册表缺失键值导致高级防火墙服务异常 阿里云技术支持中心:章阿贵 一.远程无法访问(windows server 2008) 症状:无法远程但是系统内网络正常,防火墙 ...

  3. Oracle基础 exp/imp和expdp/impdp的区别:

    一.exp/imp和expdp/impdp在功能上的区别: 1.把用户usera的对象导入到userb emp/imp用法: formuser=usera touser=userb; empdp/im ...

  4. 【JS对象、JSON字符串】之间的相互转换

    在Firefox,chrome,opera,safari,ie9,ie8等浏览器直接可以用JSON对象的stringify()和parse()方法. 1.JSON.stringify(obj)将JS对 ...

  5. Linux之zsh

    0.安装zsh: sudo apt-get install zsh git wget 1.启用zsh:chsh -s /bin/zsh 2.github: https://github.com/rob ...

  6. 数理方程:Fourier变换与卷积

    更新:1 APR 2016 关于傅里叶级数参看数理方程:Fourier级数 Fourier变换: 对于满足Dirichlet条件的函数\(f(t)\)在其连续点处定义 \(F(\omega)=\int ...

  7. 理解js中的闭包

    闭包 我的理解是 能够有权访问另一个函数作用域中变量的函数 通常我们知道 普通的函数在调用完成之后,活动对象不会从内存中销毁,其执行环境的作用域链会被销毁,造成资源的浪费 而闭包的好处就在于执行完就会 ...

  8. Sass和Compass设计师指南

    注:配合查看:Sass 为什么使用Sass和Compass? 1.减少重复工作,加快开发进度 2.使用变量,便于记忆,变量使用$符号开头 3.自动转换RGBA颜色值 .color { color: $ ...

  9. SQL Server 日志清除

    在SqlServer中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式. *[DataBaseName]要压缩日志的数据库名称. 设置数据库模式为简单模式 ALTER DATABASE ...

  10. 解决$_REQUEST['name']Undefined问题

    最近按照w3school一步一步学php,当学到$_REQUEST的时候,依旧按照w3cshool所提供的代码自己手敲了一遍,代码如下: <html> <body> <f ...