using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
namespace WriteIni
{
/// <summary>
/// ErrorRecord 的摘要说明。
/// </summary>
public class ErrorRecord
{
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key,
string val, string filePath);
/*参数说明:section:INI文件中的段落;key:INI文件中的关键字;
val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。*/
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key,
string def, StringBuilder retVal,
int size, string filePath);
public string FileName = @"C:\\test.ini";
public ErrorRecord()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 功能描述: 写ini
/// 作者: 杨艳峰
/// 创建日期: 2004-8-01
/// </summary>
/// <param name="SectionName">段落名称</param>
/// <param name="Key">键名称</param>
/// <param name="Value">键值</param>
/// <param name="FileName">文件路径</param>
/// <returns></returns>
private bool WriteIni(string SectionName,string Key,string Value,string FileName)
{
try
{
/*对INI文件进行写操作的时候,如果此时在INI文件中存在和
要写入的信息相同的段落名称和关键字,则将覆盖此INI信息。*/
WritePrivateProfileString(SectionName, Key, Value, FileName);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 功能描述: 读ini键值
/// 作者: 杨艳峰
/// 创建日期: 2004-8-01
/// </summary>
/// <param name="SectionName">段落名称</param>
/// <param name="Key">键名称</param>
/// <param name="FileName">文件路径</param>
/// <returns></returns>
private object ReadIni(string SectionName,string Key,string FileName)
{
/*正确读取INI的必须满足三个前提:INI文件的全路径、段落名称和关键字名称。
否则就无法正确读取。你可以设定读取不成功后的缺省数值,
在下面的程序中,为了直观设定的是“无法读取对应数值!”字符串。*/
StringBuilder Value = new StringBuilder(255);
int i = GetPrivateProfileString(SectionName, Key, "无法读取对应数值!",
Value, 255, FileName);
int jj = Value.Length;
return Value;
}
}
}
浙公网安备 33010602011771号