//IniFiles.cs
using System;
using System.Runtime.InteropServices;
using System.Text; namespace AutoUpdate
{
/// <summary>
/// IniFiles 的摘要说明。
/// </summary>
public class IniFiles
{
public string path;
[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);
public IniFiles(string INIPath)
{
this.path = INIPath;
}
/// <summary>
/// Write data file to the INI file.
/// </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,this.path);
}
/// <summary>
/// Read data value from the INI file.
/// </summary>
/// <param name="Section"></param>
/// <param name="Key"></param>
/// <returns></returns>
public string IniReadvalue(string Section,string Key)
{
StringBuilder temp = new StringBuilder(); //51(aspx) int i = GetPrivateProfileString(Section,Key,"",temp, , this.path);
return temp.ToString();
} }
}

//其它例子

 [DllImport("kernel32")]//加载dll
private static extern int GetPrivateProfileString(string section,
string key, string def, StringBuilder retVal,
int size, string filePath); //StringBuilder 可以返回值?想 Delphi var?
//自己封装一下
private static string ReadINIfile(string iniFileName, string sectionName, string keyName, string pDefault)
{
StringBuilder keyValue = new StringBuilder();
int i = GetPrivateProfileString(sectionName, keyName, pDefault, keyValue, , iniFileName);
return (keyValue.ToString().Trim());
} // intfile为ini路径
m_Path = ReadINIfile(intfile, "driverpath", "path", "");
if (m_Path == "")
{
Verbose("ERROR: Invalid Path.");
return false;
}

C# 读本地INI文件方法的更多相关文章

  1. WIN32读写INI文件方法

      在程序中经常要用到设置或者其他少量数据的存盘,以便程序在下一次执行的时候可以使用,比如说保存本次程序执行时窗口的位置.大小.一些用户设置的 数据等等,在 Dos 下编程的时候,我们一般自己产生一个 ...

  2. Lodop打印维护PRINT_SETUP本地缓存ini文件

    针对千差万别的客户端,Lodop提供了打印维护(PRINT_SETUP),可以针对某个客户端微调,调整结果保存在客户端本地,不会影响其他访问网站的用户的使用. 打印维护使用方法:1.PRINT_INI ...

  3. VB读写INI文件的四个函数以及相关API详细说明

    WritePrivateProfileString函数说明  来源:http://blog.csdn.net/wjb9921/article/details/2005000 在我们写的程序当中,总有一 ...

  4. C#中选中指定文件并读取类似ini文件的内容

    一.背景 由于项目中需要去读取设备的配置信息,配置文件的内容和INI配置文件的格式类似,所以可以按照INI文件的方式来处理.涉及如何打开一个文件,获取打开的文件的路径问题,并读取选中的文件里边的内容. ...

  5. django1.10使用本地静态文件

    django1.10使用本地静态文件方法 本文介绍的静态文件使用,是指启动web站点后,访问静态资源的用法,实际静态资源地址就是一个个的url 如果没有启动web站点,只是本地调试html页面,那直接 ...

  6. C# 创建INI文件,写入并可读取。----转载

    基于C#winform设计. 首先创建一个类,我命名为IniFiles.并引入命名空间using System.Runtime.InteropServices; 接着,声明API函数 [DllImpo ...

  7. C#读取ini文件的方法

    最近项目用到ini文件,读取ini文件,方法如下: using System; using System.Collections.Generic; using System.Linq; using S ...

  8. C# 读取ini文件,读不出来原因

    先赋上相关读取ini文件代码 public class INIHelper { public string inipath; [DllImport("kernel32")] pri ...

  9. HTML5 关于本地操作文件的方法

    由于传统 b/s 开发出于安全性的考虑,浏览器对于本地文件的操作权限几乎没有,用户想要操作一个文件基本都是采用先上传到服务器, 再回显给浏览器供用户编辑,裁剪等的方法,这种方式虽然可行,但其对于服务器 ...

随机推荐

  1. wildfly jboss 优化配置

    参考调优:http://www.mastertheboss.com/jboss-server/jboss-performance/jboss-as-7-performance-tuning?showa ...

  2. 使用.NET实现断点续传

    http://www.cnblogs.com/goody9807/archive/2007/06/05/772501.html 断点续传的原理在了解HTTP断点续传的原理之前,先来说说HTTP协议,H ...

  3. ngBind ngBindTemplate ngBindHtml

    ng-bind: 只能绑定一个变量 在AngularJS中显示模型中的数据有两种方式: 一种是使用花括号插值的方式: <p>{{titleStr}}</p> 另一种是使用基于属 ...

  4. fscanf()函数基本用法

    FILE *fp; while(!feof(fp)) { fscanf(fp,"%s%d%lf",a,&b,&c);//这里%s对应的a不需要加上取地址符号& ...

  5. Java 数据库操作类

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  6. Hive时间操作[转]

    时间字段格式化 from_unixtime(unix_timestamp(VisitTime),'yyyy-MM-dd') 日期函数UNIX时间戳转日期函数: from_unixtime语法:   f ...

  7. Java正则认识

    一.为什么要有正则? 方便的对数据进行匹配 执行复杂的字符串验证.拆分.替换功能 举例:判断一个字符串是否由数字组成.(有以下两种方法对比) 不使用正则 String str = "1234 ...

  8. 自定义cell自适应高度

    UITableView在许多App种被大量的应用着,呈现出现的效果也是多种多样的,不能局限于系统的一种样式,所以需要自定义cell 自定义cell呈现的内容也是多种多样的,内容有多有少,所以需要一种能 ...

  9. Shell case esac语句

    case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构. case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: ...

  10. Tomcat端口被占用错误

    所报错误: 严重: Error initializing endpointjava.lang.Exception: Socket bind failed: [730013] ????????????? ...