본문 바로가기

개인공부/c#

[C#, 윈폼] .ini 파일을 C#환경에서 사용하기

ini 파일이란?

C++ MFC환경에서 자주썼던 파일 형태입니다

영역, 키, 값 으로 이루어져있으며

특정영역의 특정 가 가지고 있는 을 불러오거나 저장하며 이용합니다.

 

C#에서 ini를 이용하기위해서는

[DllImport("kernel32.dll")]를 통해 함수api를 불러와야합니다.

※ [DllImport("kernel32.dll")]를 하기 전에 using System.Runtime.InteropServices; 를 입력해 DllImport를 추가합니다

 

사용 예

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices; //Dllimport

namespace catheter
{

    public enum userStatic
    {
        Engineer = 0,
        Developer,
        Master
    }

    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        private static extern uint GetPrivateProfileString(string section, string key, string defaultValue, StringBuilder returnedString, uint size, string filePath);

        public static String strDeveloperPW, strMasterPW;

        public Form1()
        {
            InitializeComponent();

            StringBuilder sb = new StringBuilder { Capacity = 100 };
            String strinipath = "D:/CSstudy/catheterinf.ini";
            GetPrivateProfileString("password", "developer", "", sb, (uint)sb.Capacity, strinipath);
            strDeveloperPW = sb.ToString();
            GetPrivateProfileString("password", "master", "", sb, (uint)sb.Capacity, strinipath);
            strMasterPW = sb.ToString();

        }
    }
}

 

GetPrivateProfileString(string section, string key, string defaultValue, StringBuilder returnedString, uint size, string filePath);

함수의 각 매개변수입니다

section : 영역

key : 키

defaultValue : 영역과 키를 발견하지 못한경우에 할당되는 기본값입니다.

returnedString : 값을 저장할 StringBuilder 객체의 위치입니다.

size : StringBuilder의 크기

filePath : ini 파일이 저장된 위치

 

strMasterPW에 원하는 값이 담긴 모습입니다