PC · IT · DB/VB.NET (Visual Basic)

[VB.NET/Visual Basic] 1편 - ini 파일 Section Value Key 값 읽고 쓰기 코드 (Windows INI API)

뿌레도 2023. 9. 10. 23:40
728x90

 

[VB.NET/Visual Basic] 1편 - ini 파일 Section Value Key 값 읽고 쓰기 코드 (Windows INI API)

 나를 위한 메모... Visual Studio 2022, Visual Basic에서 Windows API 함수 GetPrivateProfileString와 WritePrivateProfileString를 사용하여 ini 파일 읽고 쓰기 방법

 

 GetPrivateProfileString와 WritePrivateProfileString은 Windows API 함수로, INI 파일에서 값을 읽고 쓰는 데 사용됩니다. 이러한 함수는 kernel32.dll 라이브러리에 정의되어 있으며, P/Invoke를 사용하여 Visual Basic에서 호출할 수 있습니다.

' 기본 형식
[Section]
Key = Value
Key = Value

' 실제 사용시
[Database]
User ID = trivia-korea
User PW = tistory
DB SID = trivia

 

 

728x90

 ini 파일 읽기 쓰기 클래스 생성

Imports System.Runtime.InteropServices

Public Class IniFile
    Private path As String

    Public Sub New(path As String)
        Me.path = path
    End Sub

    <DllImport("kernel32")>
    Private Shared Function GetPrivateProfileString(section As String, key As String, defaultValue As String, retVal As StringBuilder, size As Integer, filePath As String) As Integer
    End Function

    <DllImport("kernel32")>
    Private Shared Function WritePrivateProfileString(section As String, key As String, value As String, filePath As String) As Integer
    End Function

    Public Function ReadValue(section As String, key As String, defaultValue As String) As String
        Dim retVal As New StringBuilder(255)
        GetPrivateProfileString(section, key, defaultValue, retVal, 255, path)
        Return retVal.ToString()
    End Function

    Public Sub WriteValue(section As String, key As String, value As String)
        WritePrivateProfileString(section, key, value, path)
    End Sub
End Class

 

GetPrivateProfileString 함수
 ini 파일에서 지정된 섹션과 키에 해당하는 값을 가져옵니다.'

  • Section: INI 파일의 Section Name
  • Key: Section 내의 Key Name
  • defaultValue: 지정된 섹션 및 키가 없을 경우 반환할 기본값
  • retVal: 값을 저장할 버퍼
  • size: 버퍼의 크기
  • filePath: ini 파일의 경로

Return Value: 성공하면 가져온 값의 길이를 반환, 실패하면 0을 반환

 

 

WritePrivateProfileString 함수
 ini 파일에 지정된 Section과 Key에 Value를 기록합니다.

  • Section: ini 파일의 Section Name
  • Key: Section 내의 Key Name
  • Value: 기록할 값
  • FilePath: ini 파일의 경로

Return Value: 성공하면 1 반환, 실패하면 0 반환

 

 

 

 

 내 프로그램에서 ini 파일 읽기 쓰기 실행

Public Class my_program

    Public Shared Sub Main()
    
        Dim iniFilePath As String = "C:\trivia-korea\setting.ini"
        
        Dim iniFile As New IniFile(iniFilePath)

        ' INI 파일에서 값 읽기
        Dim value As String = iniFile.ReadValue("Section", "Key", "defaultValue")
        
        ' INI 파일에 값 쓰기
        iniFile.WriteValue("Section", "Key", "Value to Write")
        
    End Sub
    
End Class

 

#Visual Basic INI 파일 읽기 쓰기 #VB.NET INI 파일 다루기 #Visual Basic INI 파일 설정 #Visual Basic INI 파일 저장 #Visual Basic INI 파일 값 가져오기 #Visual Basic INI 파일 변경 #Visual Basic INI 파일 작성 #Visual Basic INI 파일 설정 읽기 #Visual Basic INI 파일 설정 쓰기 #Visual Basic INI 파일 읽기 쓰기 예제 #Visual Basic INI 파일 읽기 쓰기 함수 #비주얼베이직 INI 파일 읽기 쓰기 #비주얼베이직 INI 파일 설정 #비주얼베이직 INI 파일 저장 #비주얼베이직 INI 파일 값 가져오기 #비주얼베이직 INI 파일 변경 #비주얼베이직 INI 파일 작성 #비주얼베이직 INI 파일 설정 읽기 #비주얼베이직 INI 파일 설정 쓰기 #비주얼베이직 INI 파일 읽기 쓰기 예제 #비주얼베이직 INI 파일 읽기 쓰기 함수 #비주얼베이직 INI 값 읽기 #비주얼베이직 INI API

300x250