GetUserNameEx

Aus API-Wiki
Version vom 7. Oktober 2016, 21:22 Uhr von Jochen Wierum (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen


Mit GetUserNameEx können diverse Informationen zum angemeldeten Benutzer ermittelt werden.

Deklaration

Declare Function GetUserNameEx Lib "secur32.dll" _
                Alias "GetUserNameExA" ( _
                ByVal NameFormat As EXTENDED_NAME_FORMAT, _
                ByVal lpBuffer As String, _
                ByRef nSize As Long) As Long


Paramter

NameFormat

Element aus EXTENDED_NAME_FORMAT, mit dem festgelegt wird, welche Informationen ermittelt werden sollen.


lpBuffer

Zeichenkette, die die ermittelten Informationen aufnimmt.


nSize

Länge der Zeichenkette, die die ermittelten Informationen aufnimmt.


Rückgabe

War der Aufruf erfolgreich, ist der Wert ungleich 0. Anderenfalls kann der Fehlercode mit Err.LastDLLError ermittelt werden.
Ist die Zeichenkette nicht ausreichend groß, wird die benötigte Größe in nSize übertragen.


Beispiel

Dim strBuffer As String
Dim lngBufSize As Long
Dim lngResult As Long

'   Benötigten Speicher ermitteln
lngResult = GetUserNameEx(enfNameSamCompatible, strBuffer, lngBufSize)

'   Speicher bereitstellen
strBuffer = String$(lngBufSize \ 2, &H0&)

'   Informationen auslesen
lngResult = GetUserNameEx(enfNameSamCompatible, strBuffer, lngBufSize)

'   Informationen nachbearbeiten
If (lngResult <> 0) Then
    '   Abschließendes NullByte entfernen
    lngBufSize = InStr(1, strBuffer, vbNullChar)
    If lngBufSize <> 0 Then
        strBuffer = Left$(strBuffer, lngBufSize)
    End If
Else
    '   Da liegt wohl ein Fehler vor
    strBuffer = vbNullString
End If

Debug.Print strBuffer


Betriebssysteme

  • ab Windows NT 5.0 (2000)
  • ab Windows CE .NET 4.0


Verwandte Funktionen

GetUserName


Quellen

MSDN Library: GetUserNameEx