haitao5676(笑纹)不能在回答你的问题了,不过他已经帮你改好了这个程序,你试试吧! Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long Private Sub Form_Load() Dim sBuffer, UserName As String Dim lSize As Long Dim strddd sBuffer = Space$(255) lSize = Len(sBuffer) Trim (GetUserName(sBuffer, lSize)) ' MsgBox strddd If lSize > 0 Then UserName = Left$(strddd, lSize) ' MsgBox "*" & UserName & "###" Else UserName = "UnKnownUser" End If lblUser.Caption = "授权:" & Space(5) & UserNameEnd Sub
你取得了一大堆空格,争取的应该这么写: Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long Private Sub Form_Load() Dim sBuffer, UserName As String Dim lSize As Long Dim strddd sBuffer = Space$(255) lSize = Len(sBuffer) Trim (GetUserName(sBuffer, lSize)) ' MsgBox strddd If lSize > 0 Then UserName = Left$(strddd, lSize) MsgBox "*" & UserName & "###" Else UserName = "UnKnownUser" End If lblUser.Caption = "授权:" & Space(5) & UserNameEnd Sub
运行了一下你的程序,发现一个问题,就是你的变量声明语句不对! Dim sBuffer, UserName As String这样声明出来的语句好像不是String 类型的,对于GetUserName 而言lpbuffer 必须严格是 String 类型,我把程序Dim sBuffer As string ,UserName As String后运行就没有错误了。
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
Private Sub Form_Load()
Dim sBuffer, UserName As String
Dim lSize As Long
Dim strddd
sBuffer = Space$(255)
lSize = Len(sBuffer)
Trim (GetUserName(sBuffer, lSize))
' MsgBox strddd
If lSize > 0 Then
UserName = Left$(strddd, lSize)
' MsgBox "*" & UserName & "###"
Else
UserName = "UnKnownUser"
End If lblUser.Caption = "授权:" & Space(5) & UserNameEnd Sub
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpbuffer As String, nSize As Long) As Long
Private Sub Form_Load()
Dim sBuffer, UserName As String
Dim lSize As Long
Dim strddd
sBuffer = Space$(255)
lSize = Len(sBuffer)
Trim (GetUserName(sBuffer, lSize))
' MsgBox strddd
If lSize > 0 Then
UserName = Left$(strddd, lSize)
MsgBox "*" & UserName & "###"
Else
UserName = "UnKnownUser"
End If lblUser.Caption = "授权:" & Space(5) & UserNameEnd Sub
Dim sBuffer, UserName As String这样声明出来的语句好像不是String 类型的,对于GetUserName 而言lpbuffer 必须严格是
String 类型,我把程序Dim sBuffer As string ,UserName As String后运行就没有错误了。