c# 使用WINAPI 进行读取写入配置文件

资讯 驱动中国 X xiaoyang 310次阅读
分享 Q
AI摘要
由 AI 生成 · 仅供参考

 我们c#读写配置文件通常用IO对文件进行读写。我觉得使用winapi的Kernel32.dll 对ini文件读取更好更方便一些       对ini文件读写 我们可以使用Kernel32.dll 中的WritePrivateProfileString(写入),GetPrivateProfileString(读入字符串)

 我们c#读写配置文件通常用IO对文件进行读写。我觉得使用winapi的Kernel32.dll 对ini文件读取更好更方便一些
  
   对ini文件读写 我们可以使用Kernel32.dll 中的WritePrivateProfileString(写入),GetPrivateProfileString(读入字符串) ,GetPrivateProfileInt(读入整型值)三个方法。下面我介绍着三个方法
  
   一.将信息写入.INI文件中.
  
  1.所用的WINAPI函数为: WritePrivateProfileString
  
  
  
  
  
  
  
  
  [DllImport("Kernel32.dll")]
   public static extern bool WritePrivateProfileString(string strAppName,
   string strKeyName,
   string strString,
   string strFileName);
  其中各参数的意义:
   string strAppName, 是INI文件中的一个字段名.
   string strKeyName,是strAppName下的一个键名,通俗讲就是变量名.
   string strString,是键值,也就是变量的值(string类型的)
   string strFileName 是完整的INI文件路径名.
  
   2.具体使用方法:设我有一个网页刷新器. 我要保存我设置的网页(URL),和间隔时间(time)
  
  WritePrivateProfileString("Settings", "Url", "http://wenti.cnblogs.com","c:\\config.ini");
  WritePrivateProfileString("Settings", "Time", "20","c:\\config.ini");
  保存的ini文件中的内容如下:
  
  [Settings]
  Url=http://wenti.cnblogs.com
  Time=20
  
  
  
  
  二.将信息从INI文件中读入程序中的变量.
  
  1.所用的WINAPI函数原型为:
  
  
  
  
  
  
  
  
  [DllImport("Kernel32.dll")]
   public static extern int GetPrivateProfileString(string strAppName,
   string strKeyName,
   string strDefault,
   StringBuilder sbReturnString,
   int nSize,
   string strFileName);
  其中各参数的意义:
  
  前二个参数与 WritePrivateProfileString中的意义一样.
  
  strDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.
   strReturnedString : 接收INI文件中的值的string对象,即目的缓存器.
   nSize : 目的缓存器的大小.
   strFileName : 是完整的INI文件路径名.
  2.具体使用方法:现要将上一步中写入的信息读入程序中.
  
   StringBuilder sb = new StringBuilder(256);
  
  GetPrivateProfileString("Settings", "Url", "http://", sb, 256,c:\\config.ini");
  GetPrivateProfileString("Settings", "Time", "10", sb, 256,c:\\config.ini");
  
  执行后 sb的值为:"http://wenti.cnblogs.com",若前两个参数有误,其值为:"http://".
  
  3.读入整型值要用另一个WINAPI函数:
  
  
  
  
  
  
  
  [DllImport("Kernel32.dll")]
   public static extern int GetPrivateProfileInt(string strAppName,
   string strKeyName,
   int nDefault,
   string strFileName);
  这里的参数意义与上相同.使用方法也相同  做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录
我要投稿有独家观点或行业线索?向驱动中国投稿,审核采用后署名发布并获积分奖励。 去投稿 ›

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友