是你没调用好!
我这里一直用Win98,没问题Option Explicit
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(FileName As String, _
        PathName As String, _
        KeyName As String, _
        WriteValue As String) As Long
    Dim Rc As Long
    
    Rc = WritePrivateProfileString(PathName, KeyName, WriteValue, FileName)
    
    WriteIni = Rc
    
End Function'FileName:Ini文件
'PathName:小节名
'KeyName:值名
'BackValue:返回值
'Default:默认字符
Public Function ReadIni(FileName As String, _
        PathName As String, _
        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.   

    是不是WIN98参数设置不正确,就是有时候这样调用有时候不成功,文件没有产生
      

  2.   

    的确是有时候没有产生,有时候可以产生
    在WIN2K下没有问题
      

  3.   

    我也研究过这个问题,不过不用弄这么复杂呀
    先在模块写一个过程,得出INI里面的数据,如果返回空字符串那就代表没产生过INI,我做过的,不到10行就行做出来了,真的!
      

  4.   

    其实是我自己没有看清文档,因为是在cathe 中没有释放