header
CodePanic! > C#.NET Tips > 今ここ

■iniファイルの値を設定する

Win32APIのWritePrivateProfileString関数を使う例です。
Formに配置されたButtonを押すと書き込みます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;   // これが必要

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        // Win32APIを使う宣言
        [DllImport("KERNEL32.DLL")]
        public static extern uint WritePrivateProfileString(
          string lpAppName,
          string lpKeyName,
          string lpString,
          string lpFileName);

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // iniファイル名を決める(実行ファイルが置かれたフォルダと同じ場所)
            string iniFileName = AppDomain.CurrentDomain.BaseDirectory + "hogehoge.ini";

            uint ret = WritePrivateProfileString(
                            "SECTION",      // セクション名
                            "KEY",          // キー名
                            "hogehoge",     // 書き込む値
                            iniFileName);   // iniファイル名

            if(ret == 0)
                MessageBox.Show("失敗");
            else
                MessageBox.Show("成功");
        }
    }
}





Copyright © 2008.07 - shougo suzaki