'*********************************
'****INIファイル操作クラス********
'*********************************
Public Class INIOper
'[PATH]
'TempPath=C:\Temp\Temp.pdf
'[XXXX]
'xxxxPath=C:\Temp\xxx.xls
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
'Ini Keyを読み込む
Public Shared Function GetINI(ByVal Section As String, ByVal AppName As String) As String
Dim Str As String = LSet(Str, 256)
GetPrivateProfileString(Section, AppName, "", Str, Len(Str), System.Windows.Forms.Application.StartupPath + "\\Health.ini")
Return Microsoft.VisualBasic.Left(Str, InStr(Str, Chr(0)) - 1)
End Function
'Iniファイルに書く
Public Shared Function WriteINI(ByVal sectionName As String, ByVal keyName As String, ByVal setValue As String) As Integer
Dim rc As Integer
rc = WritePrivateProfileString(sectionName, keyName, setValue, System.Windows.Forms.Application.StartupPath + "\\Health.ini")
If rc Then
'ok
rc = 1
Else
rc = 0
End If
End Function
End Class
●呼び出し方法:
Private fn As String = INIOper.GetINI("PATH", "TempPath")
●更新方法
#Region "レジストリ読み込む"
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 Integer, _
ByVal lpFileName As String) As Integer
Public Shared Function GetINI(ByVal iniFileAllPath As String, ByVal sectionNM As String, ByVal keyNm As String) As String
Const DEF_STR As String = ""
Dim buffer As String = New String(" ", 1024) 'Spaceが1024文字
'Dim iniFileAllPath As String = Application.StartupPath & "\test.ini" 'INIファイル名
Dim ret As Integer = GetPrivateProfileString( _
sectionNM, keyNm, DEF_STR, buffer, buffer.Length, iniFileAllPath _
)
Dim strVal As String = buffer.Substring(0, buffer.IndexOf(Microsoft.VisualBasic.vbNullChar))
Return strVal
End Function
#End Region