https://stackoverflow.com/a/11587467/2738536を試しました
#include <windows.h>
#include <Lmcons.h>
char username[UNLEN+1];
GetUserName(username, UNLEN+1);
しかし、次のエラーが発生しました: 'GetUserNameA' : パラメーター 2 を 'int' から 'LPDWORD' に変換できません
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);
型LPDWORD
は実際にはポインターです。
次のようなことをする必要があります。
char username[UNLEN + 1];
DWORD name_length = ULEN + 1;
GetUserName(username, &name_length);