Private 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
Public 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
'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'WriteValue:值
Public Function WriteIni(pathname As String, _
KeyName As String, _
WriteValue As String) As Long
Dim Rc As Long
Dim Filename As String
Filename = App.Path & "\Config.ini"
Rc = WritePrivateProfileString(pathname, KeyName, WriteValue, Filename)
WriteIni = Rc
End Function'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'BackValue:返回值
'Default:默认字符
'Public Function ReadIni(pathname As String, _
KeyName As String, _
BackValue As String, _
Optional Default As String = "") As Long
Public Function ReadIni(pathname As String, _
KeyName As String, _
Optional Default As String = "") As Long
Dim Rc As Long
Dim TempNum As String
Dim TempStr As String
Dim Filename As String
Filename = App.Path & "\Config.ini"
TempStr = String$(255, Chr$(0))
TempNum = 255
Rc = GetPrivateProfileString(pathname, KeyName, Default, TempStr, TempNum, Filename)
If Rc <> 0 Then
BackValue = Left$(TempStr, TempNum)
End If
'ReadIni = Rc
ReadIni = BackValue
End Function
Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Public 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
'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'WriteValue:值
Public Function WriteIni(pathname As String, _
KeyName As String, _
WriteValue As String) As Long
Dim Rc As Long
Dim Filename As String
Filename = App.Path & "\Config.ini"
Rc = WritePrivateProfileString(pathname, KeyName, WriteValue, Filename)
WriteIni = Rc
End Function'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'BackValue:返回值
'Default:默认字符
'Public Function ReadIni(pathname As String, _
KeyName As String, _
BackValue As String, _
Optional Default As String = "") As Long
Public Function ReadIni(pathname As String, _
KeyName As String, _
Optional Default As String = "") As Long
Dim Rc As Long
Dim TempNum As String
Dim TempStr As String
Dim Filename As String
Filename = App.Path & "\Config.ini"
TempStr = String$(255, Chr$(0))
TempNum = 255
Rc = GetPrivateProfileString(pathname, KeyName, Default, TempStr, TempNum, Filename)
If Rc <> 0 Then
BackValue = Left$(TempStr, TempNum)
End If
'ReadIni = Rc
ReadIni = BackValue
End Function
Public Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Public 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
Public Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public 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
'写ini文件
Public Sub WriteToIni(ByVal Filename As String, ByVal Section As String, ByVal Key As String, ByVal Value As String)
Dim buff As String * 128
buff = Value + Chr(0)
WritePrivateProfileString Section, Key, buff, Filename
End Sub'读ini文件
Public Function ReadFromIni(ByVal Filename As String, ByVal Section As String, ByVal Key As String) As String
Dim i As Long
Dim buff As String * 128
GetPrivateProfileString Section, Key, "", buff, 128, Filename
i = InStr(buff, Chr(0))
ReadFromIni = Trim(Left(buff, i - 1))
End Function
'将以上放在模块(bas)中...
'下面是form_load中'读INI文件
Dim inifilename As String
inifilename = App.EXEName & ".ini"
If Right(App.Path, 1) = "\" Then ' 若 App.Path 为根目录
inipath = App.Path + inifilename
Else
inipath = App.Path + "\" + inifilename
End If
On Error Resume Next
multiple = ReadFromIni(inipath, "程序控制", "允许多重启动")'以下在form_unload中
Call WriteToIni(inipath, "游戏修改", "偏移量", gameoff)
具体请看http://skinart.y365.com/myprogram/gt.zip
Private 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
Private Sub Form_Load()
Dim Ret As String, NC As Long
'Write the setting to the file (c:\test.ini) under
' Project1 -> Keyname
WritePrivateProfileString App.Title, "KeyName", "This is the value", "c:\test.ini"
'Create a buffer
Ret = String(255, 0)
'Retrieve the string
NC = GetPrivateProfileString(App.Title, "KeyName", "Default", Ret, 255, "C:\test.ini")
'NC is the number of characters copied to the buffer
If NC <> 0 Then Ret = Left$(Ret, NC)
'Show our string
MsgBox Ret
'Delete the file
Kill "c:\test.ini"
End Sub