Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Function GetSettingEx(ByVal AppName As String, ByVal Section As String, ByVal Key As String, Optional Default As Variant) As Variant
Dim mBuffer As String
Dim mSize As Long
mSize = 1024
mBuffer = String(mSize, 0)
mSize = GetPrivateProfileString(Section, Key, Default, mBuffer, mSize, App.Path & "\" & AppName & ".ini")
GetSettingEx = Left(mBuffer, mSize)
End Function
Sub SaveSettingEx(ByVal AppName As String, ByVal Section As String, ByVal Key As String, ByVal Setting As String)
WritePrivateProfileString Section, Key, Setting, App.Path & "\" & AppName & ".ini"
End Sub