Benutzernamen ermitteln
Veröffentlicht am 25.07.2008 von Sebastian Krogolewski
In allen Anwendungen die über ein Login Dialog verfügen wird Standardmäßig ein Benutzername und ein Kennwort abgefragt. Man kann dem Benutzer jetzt alles eintippen lassen oder ihm etwas Arbeit abnehmen in dem man mit der Win API Funktion GetUserNameA aus der advapi32.dll den Benutzernamen schon ausfüllt, da in den meisten Fällen der selbe verwendet wird.
GetUserNameA als GetUserNameAPI aus der Advapi32.Dll einbinden.
1 2 | Private Declare Function GetUserNameAPI Lib "advapi32.dll" Alias "GetUserNameA" ( _ ByVal lpBuffer As String, nSize As Long) As Long |
GetUserNameA erwartet 2 Parameter:
lpBuffer: Zeiger auf reservierten Speicher wo der ermittelte Benutzername zurückgeliefert wird.
nSize: Zeiger auf eine Adresse, die die Anzahl der Zeichen im Puffer vor dem Funktionsaufruf sowie danach die Anzahl der Zeichen, die tatsaächlich kopiert wurden, enthält. Das Terminierungszeichen wird dabei nicht berücksichtig.
Rückgabewert:
0: Wenn die Funktion Fehlgeschlagen ist.
1: Wenn die Funktion den Benutzernamen erfolgreich ermitteln konnte.
1 2 3 4 56 7 8 9 1011 12 13 14 | Public Function getUserName() As String Dim strUserName As String Dim lenName As Long Dim RetVal As Long strUserName = String$(255, 0) lenName = Len(strUserName) RetVal = GetUserNameAPI(strUserName, lenName) If (RetVal <> 0) Then getUserName = Left$(strUserName, lenName - 1)Else getUserName = "" End If End Function |






