using System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices;
public class IniFile {
[DllImport("KERNEL32.DLL")]
public static extern uint
GetPrivateProfileString(string lpAppName,
string lpKeyName, string lpDefault,
StringBuilder lpReturnedString, uint nSize,
string lpFileName);
[DllImport("KERNEL32.DLL",
EntryPoint="GetPrivateProfileStringA")]
public static extern uint
GetPrivateProfileStringByByteArray(string lpAppName,
string lpKeyName, string lpDefault,
byte [] lpReturnedString, uint nSize,
string lpFileName);
[DllImport("KERNEL32.DLL")]
public static extern uint
GetPrivateProfileInt( string lpAppName,
string lpKeyName, int nDefault, string lpFileName );
[DllImport("KERNEL32.DLL")]
public static extern uint WritePrivateProfileString(
string lpAppName,
string lpKeyName,
string lpString,
string lpFileName);
public static void Main(string[] args)
{
string iniPath = System.IO.Path.Combine(
new FileInfo(Environment.CommandLine.Replace( "\"", "" ))
.Directory.ToString(),"sample.ini");
// 文字列を読み出す
StringBuilder sb = new StringBuilder(1024);
GetPrivateProfileString("セクション1", "キー1",
"default", sb, (uint)sb.Capacity, iniPath);
Console.WriteLine("セクション1のキー1の値: {0}",
sb.ToString());
// 整数値を読み出す
uint resultValue = GetPrivateProfileInt(
"セクション2", "キー2", 0, iniPath);
Console.WriteLine("セクション2のキー2の値: {0}",
resultValue);
// キーと値を書き加える
WritePrivateProfileString(
"セクション3", "キー1", "文字列の値3", iniPath);
WritePrivateProfileString(
"セクション3", "キー2", "543216789", iniPath);
// 指定セクションのキーの一覧を得る
byte [] ar1 = new byte[1024];
uint resultSize1
= GetPrivateProfileStringByByteArray(
"セクション3", null, "default", ar1,
(uint)ar1.Length, iniPath);
string result1 = Encoding.Default.GetString(
ar1, 0, (int)resultSize1-1);
string [] keys = result1.Split('\0');
foreach (string key in keys) {
Console.WriteLine(
"セクション3に含まれるキー名: {0}", key);
}
// 1つのキーと値のペアを削除する
WritePrivateProfileString(
"セクション3", "キー1", null, iniPath);
// 指定セクション内の全てのキーと値のペアを削除する
WritePrivateProfileString(
"セクション3", null, null, iniPath);
}
}
[C#] INI文件的输入和输出
最新推荐文章于 2024-04-20 02:16:25 发布