在Windows下获取当前用户名

时间:2015-01-29 12:53:13

标签: c windows

如何让当前用户在Windows中登录?

我想到的是功能

char* user_name;
user_name=getenv("USERNAME");

但问题在于它提供了

admin

但是当我登录Windows时,我的用户名是“Sudip”而不是“admin”。

2 个答案:

答案 0 :(得分:2)

您可以使用GetUserName

#include <windows.h>
#include <Lmcons.h>

char username[UNLEN+1];
DWORD username_len = UNLEN+1;
GetUserName(username, &username_len);

答案 1 :(得分:2)

您可以使用GetUserNameEx来获取显示名称而不是实际的用户名。 EXTENDED_NAME_FORMAT枚举有一个NameDisplay条目,可以执行您想要的操作。