Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0016: Namen des angemeldeten Benutzers auslesen

 von 

Beschreibung 

Mit diesem Beispiel können Sie den Namen des angemeldeten Benutzers auslesen.

Schwierigkeitsgrad:

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

GetUserNameA (GetUserName)

Download:

Download des Beispielprojektes [2 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"
' Steuerelement: Beschriftungsfeld "Label1"

Option Explicit

'Deklaration: Globale Form API-Funktionen
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
    ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Form_Load()
    'Deklaration: Globale Prozedur-Variablen
    Dim lngErgebnis As Long
    Dim lngPuffer As Long

    Dim strPuffer As String
    Dim strUser As String
    Dim strUsername As String

    lngPuffer = 255
    strUser = Space$(lngPuffer)

    lngErgebnis = GetUserName(strUser, lngPuffer)

    If lngErgebnis <> 0 Then
        strUsername = Left(strUser, lngPuffer - 1)

        Label1.Caption = Trim$(strUsername)
    End If
End Sub


'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 13 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von mahon1 am 19.12.2009 um 16:19

die funktion GetUserName liest nicht den angemeldeten windows benutzer aus, sondern den benutzer der die anwendung ausgeführt hat.
hat man also einen windows dienst gibt die funktion nicht wie erwartet den angemeldeten windows benutzer aus, sondern den windows system benutzer "SYSTEM".
Environ("USERNAME") gibt, wenn das programm als dienst gestartet wurde, einen leerstring aus.

bin also auf der suche nach einer "echten" "Namen des angemeldeten Benutzers auslesen" funktion.

mfg mahon1

Kommentar von Mailyn am 29.07.2006 um 16:11

Das geht aber auch viel einfacher:
Environ("USERNAME")

MfG
Mailyn

Kommentar von Benjamin am 15.10.2004 um 00:22

Hi,

der Tip funktioniert eigentlich ganz gut, nur wollte ich kürzlich einen Dienst schreiben, der unter Anderem eben auch ermitteln sollte wer denn gerade angemeldet ist. Und siehe da: das war's dan...
Rückgabe: SYSTEM
Das war ja dann wohl eher nix... :-(
Weiß vielleicht jemand abhilfe?

Ben

Kommentar von Hector E, Rodriguez am 08.10.2004 um 23:27

Hello,
i do not speak german, but the code works on windows XP profesional and windows 2003 server as well

Kommentar von Mühlhausen am 23.06.2004 um 15:23

Hey das ist für jemanden der sich auskennt sicher eine der dümmsten Fragen !!!

Was mache ich mit den Code und den Downloaddateien ???
Wo und wie binde ich sie ein ???

Ich benötige den Tip

Tipp 0016: Namen des angemeldeten Users auslesen
Tipp 0015: [Strg]+[ALT]+[Entf] unterbinden




Kommentar von Lars Becker am 02.03.2004 um 14:11

Die Funktion ist super. Nach der hab ich die ganze Zeit gesucht. Vielen Dank. Lars Becker

Kommentar von Christoph Geiser am 22.12.2003 um 18:59

Gibt es auch eine Möglichkeit zu schauen, ob ein Benutzer angemeldet ist, egal auf welchem Computer (ich spreche von einem Netzwerk mit Win NT, 2k, xp)?

Kommentar von Lars Schmitt am 22.10.2003 um 11:10

Hi Hallo klappt auch wunderbar unter Access 2000! muss allerdings noch ein Verweiss mit angeklikt werden!!

Microsoft Visual Basic for Applications Extensibillity 5.3
dann sollte das laufen!
Viel Spaß noch

Das Ding ist Genial!
!

Kommentar von Andreas Rothenwänder am 25.06.2003 um 19:19

Hallo,

Ihre Lösung funktioniert, doch ginge es mit usr = Environ("USERNAME") nicht einfacher?

Gruß

Andreas Rothenwänder

Kommentar von Jafar Khayat am 06.07.2001 um 00:25

wie kann ich die Benutzergruppen abfragen?
oder festsellen zu welcher Gruppe ein User gehjört?

Kommentar von Marcel Strutzke am 05.06.2001 um 19:26

Sorry,
www.activevb.de/VZ-Benjamin
auf Großschreibung achten!

Kommentar von Marcel Strutzke am 05.06.2001 um 19:24

Im Puzzlebuch von Appleman steht sowas unter Puzzle 2 bzw. Lösung zum Puzzle 2.
Als PDF-File unter:
www.activevb.de/VZ-Benjamim

Kommentar von Tobi am 21.12.2000 um 14:47

Wie kann ich Fehler die WINNT unter DOS bringt auslesen? Mit der Funktion GetLastError funktioniert das nicht!