12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using System;
- using System.Text;
- using System.IO;
- using System.Runtime.InteropServices;
- public class Iniconfig
- {
- public class OperateIniFile
- {
- #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
- /// <summary>
- /// 读Ini文件
- /// </summary>
- /// <param name="Section">[]内的段落名</param>
- /// <param name="Key">key</param>
- /// <param name="NoText"></param>
- /// NoText对应API函数的def参数,它的值由用户指定,是当在配置文件中没有找到具体的Value时,就用NoText的值来代替。可以为空
- /// <param name="iniFilePath">ini配置文件的路径加ini文件名</param>
- /// <returns></returns>
- #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
- #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
- }
- }
|