‘API函数定义(VB声明方式)
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
'解释说明
' 为初始化文件中指定的条目取得字串
'返回值
' Long,复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2)
'参数表
' 参数 类型及说明
' lpApplicationName String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表
' lpKeyName String,欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表
' lpDefault String,指定的条目没有找到时返回的默认值。可设为空("")
' lpReturnedString String,指定一个字串缓冲区,长度至少为nSize
' nSize Long,指定装载到lpReturnedString缓冲区的最大字符数量
' lpFileName String,初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件
'注解
'如lpKeyName参数为vbNullString,那么lpReturnedString缓冲区会载入指定小节所有设置项的一个列表。每个项都用一个NULL字符分隔,最后一个项用两个NULL字符中止。也请参考GetPrivateProfileInt函数的注解
‘---------------------------------------------------------------------------------------------------------------------
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
'解释说明
' 在初始化文件指定小节内设置一个字串
'返回值
' Long,非零表示成功,零表示失败。会设置GetLastError
'参数表
' 参数 类型及说明
' lpApplicationName String,要在其中写入新字串的小节名称。这个字串不区分大小写
' lpKeyName Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项
' lpString String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串
' lpFileName String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它
‘--------------------------------------------------------------------------------------------------------------------------------------------------------
'为了方便使用,封装两个API函数
Public Function ReadIniFile(ByVal StrFileName As String, ByVal StrAppName As String, ByVal StrKeyName As String) As String
Dim StrDataBuffer As String * 1024
Dim lngReturn As Long
lngReturn = GetPrivateProfileString(StrAppName, StrKeyName, "", StrDataBuffer, Len(StrDataBuffer), StrFileName)
ReadIniFile = Mid(StrDataBuffer, 1, lngReturn)
End Function
Public Function WriteIniFile(ByVal StrFileName As String, ByVal StrAppName As String, ByVal StrKeyName As String, ByVal StrNewKeyName As String)
Dim lngReturn As Long
lngReturn = WritePrivateProfileString(StrAppName, StrKeyName, StrNewKeyName, StrFileName)
End Function
这样就可以任意读取或者写入INI文件了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99436/viewspace-694492/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/99436/viewspace-694492/