我尝试了https://stackoverflow.com/a/11587467/2738536

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

char username[UNLEN+1];
GetUserName(username, UNLEN+1);


但是我得到了这个错误:'GetUserNameA':无法将参数2从'int'转换为'LPDWORD'

最佳答案

按照documentation,传入的长度必须是指向双字的指针,因为该函数会根据返回的内容对其进行更改。

因此,您应该具有以下内容:

TCHAR username[UNLEN+1];       // TCHAR to allow for MBCS and Unicode
DWORD len = UNLEN + 1;         //   if you're in to that sort of thing :-)
GetUserName(username, &len);

10-04 14:15