Om man har flera användarprofiler på datorn, hur kan man ta reda på vem det är som är inloggad. Jag kör med VB6. Du kan prova detta Litet utdrag ur MSDN: Hej !Hämta användarnamnet.
Tacksam för svar!Sv: Hämta användarnamnet.
I declare ska detta läggas :
<code>
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
</code>
Och detta kan du lägga i en knapp
<code>
private sub command1_click()
Dim lpBuff As String * 25
Dim test As Long, username As String
test = GetUserName(lpBuff, 25)
user = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
MsgBox user
end sub
</code>Sv: Hämta användarnamnet.
Parameters
lpBuffer
Pointer to the buffer to receive the null-terminated string containing the user's logon name. If this buffer is not large enough to contain the entire user name, the function fails. A buffer size of (UNLEN + 1) characters will hold the maximum length user name including the terminating null character. UNLEN is defined in LMCONS.H.
nSize
Pointer to a DWORD variable that, on input, specifies the maximum size, in characters, of the buffer specified by the lpBuffer parameter. If the function succeeds, the variable receives the number of characters copied to the buffer. If the buffer is not large enough, the function fails and the variable receives the required buffer size, in characters, including the terminating null character
Med detta i hänsyn har jag skrivit en liten funktion vilket man kan lägga i en modul eller i formuläret.
<code>
Option Explicit
Private Const UNLEN = 256 'Maximum user name length
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function GetUserName() As String
Dim lpBuff As String
Dim nSize As Long
Dim lReturn As Long
nSize = UNLEN + 1
lpBuff = Space(nSize)
lReturn = apiGetUserName(lpBuff, nSize)
GetUserName = Left(lpBuff, nSize - 1)
End Function
</code>Sv: Hämta användarnamnet.
Det finns ett enklare sätt att få fram användarnamnet än att använda API. Det finns en funktion som heter Environ, sök information om den.
Här är ett exempel: MsgBox Environ("username")