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
Public Function WriteIni(ByVal FileName As String, _
        ByVal PathName As String, _
        ByVal KeyName As String, _
        ByVal WriteValue As String) As Long
    Dim Rc As Long
    
    Rc = WritePrivateProfileString(PathName, KeyName, WriteValue, FileName)
    
    WriteIni = Rc
    
End FunctionPublic Function ReadIni(ByVal FileName As String, _
        ByVal PathName As String, _
        ByVal KeyName As String, _
        BackValue As String, _
        Optional Default As String = "缺省") As Long
    Dim Rc As Long
    Dim TempNum As String
    Dim TempStr As String
    
    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
    
End Function

解决方案 »

  1.   

    楼上说得及其正确,但是我劝作者还是将这些东东放到注册表中比较好,因为未来的VB是建议写在注册表中的,比如VB.NET就不建议用INI文件了,因为INI文件是早期的技术(大概是VB3.0支持的)到了6.0就不建议使用了,到了VB.NET就没有 App.Path 了,这样你的INI文件放到那里呢?难道用API函数找到自己程序的存放地再用这个路径找INI文件吗?那样还不如写道注册表中呢!!