本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2009年06月10日 统计字数: 700字 阅读时间: 2分钟阅读 本文链接: https://soulteary.com/2009/06/10/use-api-to-get-the-user-name.html ----- # [VB]获取当前登陆的用户名 – API版 先做一个伏笔,接下来会发布一些看似不沾边的东西... 但是组合起来又是什么呢。 ```vb Option Explicit Private Declare Function GetUserName _ Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, _ nSize As Long) As Long Private Function Fir_GetUserName() As String Const Error As String = "Get User Name Error." Dim lngLen As Long, lngRet As Long, strRet As String lngLen = &H400: lngRet = 0: strRet = Space$(lngLen) lngRet = GetUserName(strRet, lngLen) If lngRet = 0 Then Fir_GetUserName = Error Else Fir_GetUserName = Left$(strRet, lngLen) End If End Function Private Sub Form_Load() Dim txtUser As TextBox Set txtUser = Me.Controls.Add("VB.TextBox", "txtUser") With txtUser .Top = .Left = 0 .Width = Me.Width .Height = Me.Height .Visible = True End With With Me .Show End With txtUser.Text = Fir_GetUserName() End Sub ```