ITPub博客

首页 > Linux操作系统 > Linux操作系统 > API函数读取INI文件

API函数读取INI文件

原创 Linux操作系统 作者:zl_funlove 时间:2011-05-05 12:02:33 0 删除 编辑
‘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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-09

  • 博文量
    11
  • 访问量
    36820