是的,.net 一般都用xml做配置文件了 如果还想采用需要调用api.看下面的例子: Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
/// 配置文件的读取
/// </summary>
/// <param name="lpAppName">单元名</param>
/// <param name="lpKeyName">字段名</param>
/// <param name="lpDefault">默认返回字段</param>
/// <param name="lpReturnedString">返回字段</param>
/// <param name="nSize">返回字段最大长度</param>
/// <param name="lpFileName"></param>
/// <returns></returns>
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern int GetPrivateProfileString
(
string lpAppName,
string lpKeyName,
string lpDefault,
StringBuilder lpReturnedString,
int nSize,
string lpFileName
);
或用xml文件进行代替 这个比ini文件好
要读取ini文件,有两种方法:1.调用API,2.直接作为文本文件解析。
在.net中,仅仅是因为读取ini文件,调用飞托管代码,很不可取。
直接解析文本文件,比较麻烦。建议用xml文件来代替ini文件,.net对xml的支持相当好。
用xml文件取代ini文件是一种趋势。
如果还想采用需要调用api.看下面的例子: Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Int32
//以下代码为我自己已测试成功的代码.要感谢一下1楼
class Program
{
static void Main(string[] args)
{
StringBuilder strbld = new StringBuilder(1000);
int i = GetPrivateProfileString("boot loader", "timeout", "", strbld,strbld.Capacity, @"C:\bootbak.ini");
string strMyInfo = strbld.ToString();
Console.WriteLine(strMyInfo);
Console.ReadKey();
} /// <summary>
/// 配置文件的读取
/// </summary>
/// <param name="lpAppName">单元名</param>
/// <param name="lpKeyName">字段名</param>
/// <param name="lpDefault">默认返回字段</param>
/// <param name="lpReturnedString">返回字段</param>
/// <param name="nSize">返回字段最大长度</param>
/// <param name="lpFileName"></param>
/// <returns></returns>
[System.Runtime.InteropServices.DllImport("kernel32")]
private static extern int GetPrivateProfileString
(
string lpAppName,
string lpKeyName,
string lpDefault,
StringBuilder lpReturnedString,
int nSize,
string lpFileName
);//注意这个方法的写法与C#中的方法略有不同.只是个声明,并带有;号}
WriteProfileString
GetProfileString