C#中读取ini配置文件 [DllImport("kernel32.dll")]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        /// <summary>
        /// 保存配置文件
        /// </summary>
        /// <param name="strAppName">配置节点名称</param>
        /// <param name="strKeyName">配置名</param>
        /// <param name="strString">配置值</param>
        /// <param
name="strFileName">配置文件名</param>
        /// <returns></returns>
        [DllImport("kernel32.dll")]
        public static extern bool WritePrivateProfileString(string strAppName,
            string strKeyName,
            string strDefault,
            string strFileName);
        /// <summary>
        /// 读取配置文件值
        /// </summary>
        /// <param name="strAppName">配置节点名称</param>
        /// <param name="strKeyName">配置名</param>
        /// <param name="strDefault">返回的默认值</param>
        /// <param name="sbReturnString">返回StringBuilder Cache对象</param>
        /// <param name="nSize">缓冲区大小</param>
        /// <param name="strFileName">配置文件名</param>
        /// <returns></returns>
        [DllImport("kernel32.dll")]
        public static extern bool GetPrivateProfileString(string strAppName,
            string strKeyName,
            string strDefault,
            StringBuilder sbReturnString,
            int nSize,
            string strFileName);
        /// <summary>
        /// 读取配置文件中的指定配置节点,并返回整型值
        /// </summary>
        /// <param name="strAppName">配置节点名称</param>
        /// <param name="strKeyName">配置名</param>
        /// <param name="nDefault">返回的默认值</param>
        /// <param name="strFileName">配置文件名</param>
        /// <returns></returns>
        [DllImport("Kernel32.dll")]
        public static extern int GetPrivateProfileInt(string strAppName,
            string strKeyName,
            int nDefault,
            string strFileName);
        static void Main(string[] args)
        {
            string strAppPath = "";
            string[] stringList = {"1234","b","c","d"};
            foreach(string str in stringList)
            {
                Console.WriteLine(str);
            }
            WritePrivateProfileString("Settings", "Url", "http://dayrl.cnblogs.com%22,%22c//config.ini");

          WritePrivateProfileString("Settings", "Time", "37","c:\\config.ini");
            StringBuilder sb = new StringBuilder(256);
            GetPrivateProfileString("Settings", "Url", "http://", sb, 256,"c:\\config.ini");

Console.WriteLine(sb);
            GetPrivateProfileString("Settings", "Time", "10", sb, 256,"c:\\config.ini");
            Console.WriteLine(sb);
            int nReturnFromProFile = GetPrivateProfileInt("Settings", "Time", 0, "c:\\config.INI");
            Console.WriteLine(nReturnFromProFile);
            Console.ReadLine();
        }
    }
}

[DllImport("kernel32.dll")]使用的更多相关文章

  1. [DllImport("kernel32.dll")]是什么意思??

    转载自:http://blog.csdn.net/sp6645597/article/details/8683737 1.简单说明 这叫引入kernel32.dll这个动态连接库(顾名思义就是一个链接 ...

  2. [DllImport("kernel32.dll")]

    这叫引入kernel32.dll这个动态连接库. 这个动态连接库里面包含了很多WindowsAPI函数,如果你想使用这面的函数,就需要这么引入.举个例子: [DllImport("kerne ...

  3. C#直接使用DllImport外部Dll的方法

    C#.Net调用基本格式:[DLLImport(“DLL文件路径”)]修饰符 extern 返回值类型 方法名称(参数列表) 如: [DllImport("kernel32.dll" ...

  4. 引用kernel32.dll中的API来进行串口通讯

    串口通讯可以引出kernel32.dll中的API来操作,相关源码如下:using System;using System.Runtime.InteropServices; namespace Tel ...

  5. C#调用 kernel32.dll

    调用方法: private string mFileName; //INI文件名 public OneGanttINI(string pFileName) { this.mFileName = App ...

  6. c# 利用动态库DllImport("kernel32")读写ini文件(提供Dmo下载)

    c# 利用动态库DllImport("kernel32")读写ini文件 自从读了设计模式,真的会改变一个程序员的习惯.我觉得嘛,经验也可以从一个人的习惯看得出来,看他的代码编写习 ...

  7. kernel32.dll出错解决方案

    kernel32.dll 一.什么是kernel32内核文件 kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件.它控制着系统的内存管理.数据的输入输 ...

  8. 旧书重温:0day2【2】 实验:三种获取kernel32.dll基址的方法

    0x01 找kernel32基地址的方法一般有三种: 暴力搜索法.异常处理链表搜索法.PEB法. 0x02 基本原理 暴力搜索法是最早的动态查找kernel32基地址的方法.它的原理是几乎所有的win ...

  9. windbg查找Kernel32.dll基址

    一.首先准备好一个程序,运行起来,用windbg进行附加调试,由于每个windows下的程序都会加载kernel32.dll,因此,找基址的过程是一样的:  二.查看PEB地址: 法一.r $peb ...

随机推荐

  1. Vimdiff 使用

    what is vimdiff 在类nuix平台,我们希望对文件之间的差异之间快速定位,希望能够很容易的进行文件合并……. 可以使用Vim提供的diff模式,通常称作vimdiff,就是这样一个能满足 ...

  2. 如何下载安装informatica PowerCenter

    1.进入oracle官网注册新用户   https://edelivery.oracle.com/osdc/faces/Home.jspx 2.在搜索中输入:  informatica 参考博客:   ...

  3. 关于springmvc的一些注解详解

    引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为applicatio ...

  4. linux创建软链接

    linux软链接linux下的软链接类似于windows下的快捷方式实例:ln -s /home/gamestat    /gamestatln -s a b 中的 a 就是源文件,b是链接文件名,其 ...

  5. 想使用 MongoDB ,你应该了解这8个方面!

    想使用 MongoDB ,你应该了解这8个方面! 应用性能高低依赖于数据库性能,MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解 ...

  6. Hibernate初了解

    Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...

  7. IOS CocoaPods的用法

    自从有了CocoaPods以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会为我们做好一切   一.什么是CocoaPods 1.为什么需要CocoaPo ...

  8. 【HANA系列】SAP HANA Studio代码提示设置方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA Studio代 ...

  9. python3 selenuim PC端使用chrome模拟手机进行H5自动化

    情况说明:初次在做PC端使用chrome进行H5自动化测试时,以为和app端自动化一样使用click()就可以对按钮进行点击,找了好几天也没有找到解决方法,有些人说是工程问题,有些人是使用微信进行H5 ...

  10. 【Qt开发】Qt5.7串口开发

    QT5有专门的串口类:  QSerialPort:提供访问串口的功能  QSerialPortInfo:提供系统中存在的串口的信息  具体使用方法:  1.在pro文件中加入: QT += seria ...