`

c# 调用 API来实现ini配置文件的读取

阅读更多

在作应用系统开发时,管理配置是必不可少的。例如数据库服务器的配置、安装和更新配置等等。由于Xml的兴起,现在的配置文件大都是以xml文档来存储。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config,包括我在介绍Remoting中提到的配置文件,都是xml的格式。

传统的配置文件ini已有被xml文件逐步代替的趋势,但对于简单的配置,ini文件还是有用武之地的。ini文件其实就是一个文本文件,它有固定的格式,节Section的名字用[]括起来,然后换行说明key的值:
[section]
key=value

如数据库服务器配置文件:

DBServer.ini

[Server]
Name=localhost
[DB]
Name=NorthWind
[User]
Name=sa

在C#中,对配置文件的读写是通过API函数来完成的,代码很简单:

 

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

namespace PubOp
{
    
public class OperateIniFile
    
{
        
API函数声明#region API函数声明

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

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


        
#endregion


        
读Ini文件#region 读Ini文件

        
public static string ReadIniData(string Section,string Key,string NoText,string iniFilePath)
        
{
            
if(File.Exists(iniFilePath))
            
{
                StringBuilder temp 
= new StringBuilder(1024);
                GetPrivateProfileString(Section,Key,NoText,temp,
1024,iniFilePath);
                
return temp.ToString();
            }

            
else
            
{
                
return String.Empty;
            }

        }


        
#endregion


        
写Ini文件#region 写Ini文件

        
public static bool WriteIniData(string Section,string Key,string Value,string iniFilePath)
        
{
            
if(File.Exists(iniFilePath))
            
{
                
long OpStation = WritePrivateProfileString(Section,Key,Value,iniFilePath);    
                
if(OpStation == 0)
                
{
                    
return false;
                }

                
else
                
{
                    
return true;
                }

            }

            
else
            
{
                
return false;
            }

        }


        
#endregion

    }

}


简单说明以下方法WriteIniData()和ReadIniData()的参数。

Section参数、Key参数和IniFilePath不用再说,Value参数表明key的值,而这里的NoText对应API函数的def参数,它的值由用户指定,是当在配置文件中没有找到具体的Value时,就用NoText的值来代替。

分享到:
评论

相关推荐

    C# 不调用API函数实现INI读取.docx

    C# 不调用API函数实现INI读取 在本节中,我们将探讨如何在C#中不调用API函数实现INI文件的读取和写入操作。 INI文件是一种常用的配置文件格式,广泛应用于各种软件和系统中。传统上,读取和写入INI文件需要使用...

    C# .net读取ini配置文件

    在C# .NET中,可以利用`kernel32.dll`提供的API函数`GetPrivateProfileString`来读取INI文件中的配置信息。这种方法简单高效,无需依赖额外的库或框架。 #### 四、具体实现步骤 1. **导入必要的命名空间**:首先,...

    C# 读取ini配置文件

    本示例着重介绍如何在C#中读取ini配置文件,并将其应用于数据库的外部连接,特别是针对Access数据库。 首先,让我们理解什么是ini配置文件。INI文件是一种文本格式的配置文件,常用于存储应用程序的设置和参数。...

    在c#中调用api函数操作ini文件

    然而,通过调用Windows API函数,我们可以轻松地在C#中实现对INI文件的读写功能。本篇文章将详细介绍如何使用C#来封装这些API函数,并提供一个简单的示例类,以展示如何使用这些封装好的方法来操作INI文件。 #### ...

    C#通过API操作INI配置文件

    总的来说,虽然C#没有内置对INI文件的原生支持,但通过调用Windows API,我们可以实现读写这些文件的功能,满足对简单配置管理的需求。这种方式对于理解操作系统级别的文件操作和跨语言编程也是很有教育意义的。

    C# 调用API函数实现读写INI文件类 CIni.cs

    亲测,通过调用系统的API函数实现读写INI文件;内容简单,清晰,适合入门练习INI配置文件读写。 [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, ...

    C#用API读写INI配置文件

    在C#中,虽然有更现代的方式来处理配置文件,如使用`.NET`框架的`ConfigurationManager`类,但使用API读写INI文件仍然是一个实用且灵活的选择,特别是在兼容旧代码或与特定系统集成时。需要注意的是,API方式操作...

    C#读取ini文件

    要在C#中操作INI文件,首先需要引入`System.Runtime.InteropServices`命名空间,因为我们将调用Windows API函数`WritePrivateProfileString`和`GetPrivateProfileString`来写入和读取INI文件。 #### 2.2 声明API...

    unity读写.ini配置文件

    首先,Unity支持C#编程,因此我们可以利用C#的System.IO命名空间中的类来实现.ini文件的操作。主要涉及`StreamReader`和`StreamWriter`这两个类,它们分别用于读取和写入文本文件。 1. **读取.ini文件** 要读取....

    用C#调用ini文件

    本文将详细讲解如何使用C#语言来读取和写入ini文件,以及 ini 文件在实际项目中的应用。 首先,ini文件结构简单,由一系列键值对组成,每一行代表一个键值对,格式通常是`key=value`。它通常包含多个节(Section)...

    c# 无API读写INI文件

    以下是一个关于如何在C#中不使用API实现 Ini 文件读写的详细解释。 首先,我们需要了解INI文件的结构。INI文件是一种简单的文本文件,常用于存储程序的配置信息,它由键值对和节(section)组成。例如: ``` ...

    INI文件的创建和读写,C#winform

    通过以上方法,你可以轻松地在C# WinForm应用中实现INI文件的创建、读取和写入功能,满足简单的配置需求。在实际项目中,还可以根据需要扩展这些功能,比如添加错误处理、支持更大的数据结构等。

    如何调用API函数读写INI文件

    以上就是使用C#调用Windows API函数读写INI文件的基本步骤。需要注意的是,虽然这种方式简单直接,但它不适用于.NET框架提供更高级的配置管理机制的情况,如使用`System.Configuration.ConfigurationManager`。然而...

    C# ini文件操作工具类 亲测可用 超详细 带说明文档

    本篇将详细讲解如何使用C#来操作ini文件,包括读取、写入、修改和删除ini文件中的节(Section)、键(Key)和值(Value)。 首先,我们需要了解ini文件的基本结构。一个ini文件由多个节组成,每个节内包含多个键值...

    wwC#读取ini配置文件

    在C#中读取INI配置文件可以采用多种方法,包括但不限于使用.NET Framework提供的类库、调用Windows API函数,或是利用第三方库。在本案例中,我们主要关注使用Windows API函数`GetPrivateProfileString`来实现这一...

    c# 操作配置文件 (.ini)

    本文将深入探讨如何利用C#来读取和写入.INI配置文件,通过分析给定代码片段,我们将详细了解其工作原理,并提供更全面的实现方法。 ### C#操作.INI配置文件 #### 1. 引用必要的命名空间和导入库 首先,要操作.INI...

    ini文件操作 读取到dgv显示 更新

    在.NET程序中,我们可以通过P/Invoke(Platform Invoke)技术调用kernel32.dll中的函数,例如`WritePrivateProfileString`和`GetPrivateProfileString`,来实现读写ini文件。 2. **P/Invoke技术**:这是.NET ...

    C#读写INI文件信息

    本文详细介绍了如何在C#中通过P/Invoke调用Windows API来实现对INI文件的读写操作。通过对`WritePrivateProfileString`和`GetPrivateProfileString`这两个API函数的深入理解与运用,可以高效地管理和维护应用程序的...

    C# 读取写入INI文件

    本文将详细介绍如何使用C#语言来实现对INI文件的读取和写入操作。 #### 二、INI 文件简介 **INI文件**是一种简单的文本文件格式,常用于保存配置数据。它由一个或多个节(section)组成,每个节包含一系列键值对(key...

    C# 操作ini 增删改查

    在C#中读取INI文件通常涉及到对文件的读写操作。这里提供了一种基于`kernel32.dll`库的方法,该方法利用了Windows操作系统提供的API来进行高效读取。 ##### 读取单个键值 ```csharp private static string ...

Global site tag (gtag.js) - Google Analytics