WritePrivateProfileString(lpApplicationName, lpKeyName, lpString, lpFileName)
说明
在初始化文件指定小节内设置一个字串
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数
类型及说明
lpApplicationName
String,要在其中写入新字串的小节名称。这个字串不区分大小写
lpKeyName
Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项
lpString
String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串
lpFileName
String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它
在调用时,最后一个参数谨记必须使用完整路径,不然就会发现我明明写进文件了,也可以读出来,可是为什么在INI文件中没有记录呢?
调用文件路径时:可用
public string FileName = Application.StartupPath + "\\Config.ini";
public string FileName = System.Environment.CurrentDirectory + "\\Config.ini"
public string FileName = System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini";
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;
namespace ConsoleApplication1
{
class INIhelp
{
[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);
//ini文件名称
private static string inifilename = "Config.ini";
//获取ini文件路径
private static string inifilepath = Directory.GetCurrentDirectory() + "\\" + inifilename;
public static string GetValue(string key)
{
StringBuilder s = new StringBuilder(1024);
GetPrivateProfileString("CONFIG",key,"",s,1024,inifilepath);
return s.ToString();
}
public static void SetValue(string key,string value)
{
try
{
WritePrivateProfileString("CONFIG", key, value, inifilepath);
}
catch (Exception ex)
{
throw ex;
}
}
}
}