我猜您的意思可能是记录上一次的登录用户,假如只有一个用户 您可以用INI的方法解决,那样比这个要方便实用 Private 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 Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal AppName As String, ByVal KeyName As String, ByVal keydefault As String, ByVal Filename As String) As LongPrivate sDefInitFileName As String'读取Ini文件 Public Function GetInitEntry(ByVal sSection As String, ByVal sKeyName As String, Optional ByVal sDefault As String = "", Optional ByVal sInitFileName As String = "") As StringDim sBuffer As String Dim sInitFile As String If Len(sInitFileName) = 0 Then If Len(sDefInitFileName) = 0 Then sDefInitFileName = App.Path If Right$(sDefInitFileName, 1) <> "\" Then sDefInitFileName = sDefInitFileName & "\" End If sDefInitFileName = sDefInitFileName & App.EXEName & ".ini" End If sInitFile = sDefInitFileName Else sInitFile = sInitFileName End If
sBuffer = String$(2048, " ") GetInitEntry = Left$(sBuffer, GetPrivateProfileString(sSection, ByVal sKeyName, sDefault, sBuffer, Len(sBuffer), sInitFile))End Function'写Ini文件 Public Function SetInitEntry(ByVal sSection As String, Optional ByVal sKeyName As String, Optional ByVal sValue As String, Optional ByVal sInitFileName As String = "") As LongDim sInitFile As String If Len(sInitFileName) = 0 Then If Len(sDefInitFileName) = 0 Then sDefInitFileName = App.Path If Right$(sDefInitFileName, 1) <> "\" Then sDefInitFileName = sDefInitFileName & "\" End If sDefInitFileName = sDefInitFileName & App.EXEName & ".ini" End If sInitFile = sDefInitFileName Else sInitFile = sInitFileName End If
If Len(sKeyName) > 0 And Len(sValue) > 0 Then SetInitEntry = WritePrivateProfileString(sSection, ByVal sKeyName, ByVal sValue, sInitFile) ElseIf Len(sKeyName) > 0 Then SetInitEntry = WritePrivateProfileString(sSection, ByVal sKeyName, vbNullString, sInitFile) Else SetInitEntry = WritePrivateProfileString(sSection, vbNullString, vbNullString, sInitFile) End IfEnd Function
Open App.Path & "\loginuser.txt" For Input As #1 UserName = Line InPut #1 Close #1
代码片断: intHandle = FreeFile Open DocName For Binary As intHandle lngLength = LOF(intHandle) Do While lngPos < lngLength If lngPos < 100 Then lngTmp = lngPos Else lngTmp = lngLength End If FProc.Process lngPos, lngTmp strTemp = strTemp & Input(intHandle, 1) lngPos = Loc(intHandle) Loop Close intHandle
Open commondialog1.file For Input As #1 UserName = Input(LOF(1), 1) Close #1可以打开共用以话框中的文本文件
您可以用INI的方法解决,那样比这个要方便实用
Private 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
Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal AppName As String, ByVal KeyName As String, ByVal keydefault As String, ByVal Filename As String) As LongPrivate sDefInitFileName As String'读取Ini文件
Public Function GetInitEntry(ByVal sSection As String, ByVal sKeyName As String, Optional ByVal sDefault As String = "", Optional ByVal sInitFileName As String = "") As StringDim sBuffer As String
Dim sInitFile As String If Len(sInitFileName) = 0 Then
If Len(sDefInitFileName) = 0 Then
sDefInitFileName = App.Path
If Right$(sDefInitFileName, 1) <> "\" Then
sDefInitFileName = sDefInitFileName & "\"
End If
sDefInitFileName = sDefInitFileName & App.EXEName & ".ini"
End If
sInitFile = sDefInitFileName
Else
sInitFile = sInitFileName
End If
sBuffer = String$(2048, " ")
GetInitEntry = Left$(sBuffer, GetPrivateProfileString(sSection, ByVal sKeyName, sDefault, sBuffer, Len(sBuffer), sInitFile))End Function'写Ini文件
Public Function SetInitEntry(ByVal sSection As String, Optional ByVal sKeyName As String, Optional ByVal sValue As String, Optional ByVal sInitFileName As String = "") As LongDim sInitFile As String If Len(sInitFileName) = 0 Then
If Len(sDefInitFileName) = 0 Then
sDefInitFileName = App.Path
If Right$(sDefInitFileName, 1) <> "\" Then
sDefInitFileName = sDefInitFileName & "\"
End If
sDefInitFileName = sDefInitFileName & App.EXEName & ".ini"
End If
sInitFile = sDefInitFileName
Else
sInitFile = sInitFileName
End If
If Len(sKeyName) > 0 And Len(sValue) > 0 Then
SetInitEntry = WritePrivateProfileString(sSection, ByVal sKeyName, ByVal sValue, sInitFile)
ElseIf Len(sKeyName) > 0 Then
SetInitEntry = WritePrivateProfileString(sSection, ByVal sKeyName, vbNullString, sInitFile)
Else
SetInitEntry = WritePrivateProfileString(sSection, vbNullString, vbNullString, sInitFile)
End IfEnd Function
SetInitEntry "SYSTEM", "LASTLOGIN", ComboUser.Text
读取
LastUser = GetInitEntry("SYSTEM", "LASTLOGIN", "超级用户")
INI文件比TXT好使多了
UserName = Line InPut #1
Close #1
intHandle = FreeFile
Open DocName For Binary As intHandle
lngLength = LOF(intHandle)
Do While lngPos < lngLength
If lngPos < 100 Then
lngTmp = lngPos
Else
lngTmp = lngLength
End If
FProc.Process lngPos, lngTmp
strTemp = strTemp & Input(intHandle, 1)
lngPos = Loc(intHandle)
Loop
Close intHandle
UserName = Input(LOF(1), 1)
Close #1可以打开共用以话框中的文本文件