GetUserName in C

cwriter

Erfahrenes Mitglied
Hallo zusammen!

Kann mir jemand sagen, wie man GetUserName in C benutzen kann?
Am besten wäre ein Snipplet.

Vielen Dank!

Gruss

cwriter
 
C++:
#include <windows.h>
#include <stdio.h>

int main(void)
{
    char username[20];
    DWORD usernamelen;

    if(!GetUserName(username, &usernamelen))
    {
        printf("Error %d occured\n", (int)GetLastError());
    }
    else
    {
        printf("Username is %s", username);
    }

    return 0;
}
 
Danke!

Ich hatte noch ein kleines Problem, die Ausgabe waren Sonderzeichen.

Ich denke, das ist besser:

Code:
#include <windows.h>
#include <stdio.h>
 
int main(void)
{
    char username[128];
    DWORD usernamelen;
 
    if(!GetUserName(username, &usernamelen))
    {
        printf("Error %d occured\n", (int)GetLastError());
    }
    else
    {
        printf("Username is %s", username);
    }
 
    return 0;
}

Und nochmals Danke!

Gruss

cwriter
 
Zuletzt bearbeitet:
usernamelen muss die Größe der Zeichenkette beinhalten. Laut MSDN ist ein Benutzername max. 256 Zeichen lang.
C++:
char  Username[256];
DWORD  UsernameLength = 256;

if(GetUserName(Username,&UsernameLength))
{

    // Mach was mit Username

}
else
{

  //Fehlerbehandlung

}
 
Du hast natürlich vollkommen recht - Mea culpa!

Aber es sei auch noch zu erwähnen, das TCHAR verwendet werden sollte. Dann hat man auch kein Problem mit Unicode-Zeichen ;-)
 
Zurück