Private Sub Comm_Restore_Click()
'读出INI配置 密码
    Dim ret As Long
    Dim buff As String
    
    buff = String(255, 0)
    ret = GetPrivateProfileString("PassWord", "Restore_Pass", "", buff, 256, "c:\config.ini")
     '若.ini文件中标题中无内容,则采用参数三的值。
     
    Dim Restore_Pass_input As String
    Restore_Pass_input = String(255, 0)
    Restore_Pass_input = InputBox("请输入恢复密码,防止误操作!")
    
     
    If Restore_Pass_input = buff Then
        MsgBox "密码正确"
    Else
        MsgBox "密码错误"
    End If
End Subc:\config.ini
[PassWord]
Restore_Pass =1
Backup_Pass =backup
PE_Pass = pe
[Ghost]
Ghost.EXE_Path =
GHO_Path = 
Ghost_Restore_CMD = 
Ghost_Backup_CMD =[Other]不管在我  InputBox 里面输入 什么,  都提示: 密码错误。
 为什么呢?

解决方案 »

  1.   

    因为 Restore_Pass_input = buff 为  假
      

  2.   

      可是 我用 msgbox buff  显示  为 1  而我在inputbox 里输入 的也是1 但 还是显示错误
      

  3.   

    buff = String(255, 0)
    ret = GetPrivateProfileString("PassWord", "Restore_Pass", "", buff, 256, "c:\config.ini")
    你的buff中有空字符,只是你看不见而已,试试:
    If Trim(Restore_Pass_input) = Trim(buff) Then
      MsgBox "密码正确"
    Else
      MsgBox "密码错误"
    End If
      

  4.   

    作点说明:Trim是去掉前导和后缀的空格,因此buff=String(255,0)改为buff=String(255,chr(32))
      

  5.   

    buff最后可能有一个vbNullChar,得去掉它再比较
      

  6.   


      兄台, 如何去掉这个 vbNullChar 呀?
      

  7.   

    好像是buff=left(buff,instr(buff,vbNullChar)-1)