zoukankan      html  css  js  c++  java
  • C#读写ini文件

    主要思路是调用Win32 API。
    1.引入命名空间
    using System.Runtime.InteropServices;
    2.声明(把一个Win32 API函数转成C#函数)
            //声明INI文件的写操作函数 WritePrivateProfileString()
            [DllImport("kernel32")]
            
    private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

            
    //声明INI文件的读操作函数 GetPrivateProfileString()
            [DllImport("kernel32")]
            
    private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
    3.调用
    //写一个config.ini文件

    private
     void Save_Ini()
            {
                
    string s = System.Windows.Forms.Application.ExecutablePath;
                
    //在当前目录下,写一个config.ini文件
                string path = s.ToLower().Replace("mediaconvert.exe""config.ini");

                
    string configureNode = "DataBaseConfigure";//配置节

                
    string key1 = "DataBase";//键名
                string key1_Value = "DataBaseName";//键值

                
    string key2 = "Server";
                
    string key2_Value = "ServerName";

                
    string key3 = "UserId";
                
    string key3_Value = "1";

                WritePrivateProfileString(configureNode, key1, key1_Value, path);
                WritePrivateProfileString(configureNode, key2, key2_Value, path);
                WritePrivateProfileString(configureNode, key3, key3_Value, path);
                

                /*最后在exe文件的同目录下,生成一个config.ini文件,内容应如下:
                 * [DataBaseConfigure]
                 * DataBase=DataBaseName
                 * Server=ServerName
                 * UserId=1
                 
    */
            }

    //读取config.ini文件中的配置

    private
     void Read_Ini()
            {
                
    string s = System.Windows.Forms.Application.ExecutablePath;
                
    //取得config.ini路径
                string path = s.ToLower().Replace("mediaconvert.exe""config.ini");

                StringBuilder str 
    = new StringBuilder(255);
                
    //取得配置节[DataBaseConfigure]的DataBase键的值
                GetPrivateProfileString("DataBaseConfigure""DataBase""", str, 255, path);
                
    //对话框中结果应该为 DataBase:DataBaseName
                System.Windows.Forms.MessageBox.Show("DataBase:" + str.ToString());
            }

    C#使用系统Api,最头疼的问题就是Api中的数据类型在C#中,如何对应的问题。
    这个网站http://www.pinvoke.net列出了大多系统Api在此C#或VB.Net中的对应声明,很详细。

  • 相关阅读:
    C++ 对象模型学习记录(2) 第3章 data语义学
    C++ 对象模型学习记录(1) 第2章 构造函数语义学
    C ++ 对象模型学习记录(4) function 语义学 (未完待续)
    C++ 对象模型学习记录(3) 第1章 关于对象(未完)
    设计模式复习 之 代理模式
    大数运算
    effective C ++ 学习笔记之 item 31 将文件间的编译依赖关系降至最低(未完成)
    Java 复习 之1 多线程
    SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总)
    .Net中的加密解密
  • 原文地址:https://www.cnblogs.com/kokoliu/p/558493.html
Copyright © 2011-2022 走看看