알려주신 코드로 하니 잘 작동 됩니다.
감사 합니다. ^^;
raven90 님이 쓰신 글 :
:
: GetUserName((TCHAR*)username, &size ) 의 리턴값은 bool 형일겁니다.
:
:
:
: 출처 :
https://www.tek-tips.com/viewthread.cfm?qid=1094825
:
: char buf[300];
: DWORD bufSize = sizeof(buf);
:
: bool success = ::GetUserName(buf, &bufSize);
: if (success)
: lines->Add("Network user name = " + String(buf));
: else
: lines->Add("Unable to get network user name.");
:
:
: 따라서 GetUserName 의 리턴값은 참이면 1, 거짓이면 0 이런식으로 나오겠지요. (아마도...)
:
: 그래서 그 리턴값을 가지고 username 의 값을 읽으면 될거 같습니다.
: 제경우에는 잘 받아 오더군요...
:
:
:
:
:
:
: 하루종일 님이 쓰신 글 :
: : 윈도우에 로그인한 사용자의 이름을 알기 위해 다음 코드와 같이 사용을 했습니다.
: :
: : String(getenv("USERNAME"));
: :
: : 그런데, 이 함수를 사용하면, 로그인 이름 글자수가 5개 까지만 보입니다.
: : 실제 입력은 더 길은데 말입니다.
: :
: : 아마도, 윈도우 사용자 폴더의 길이를 사용자이름 의 5개 글자까지 제한을 두었고, 이를 따르는 듯 합니다.
: :
: :
: : 그래서, 다른 코드를 찾아 보았습니다.
: :
: : String AsUserName;
: : TCHAR username[UNLEN + 1];
: : DWORD size = sizeof(username);
: : AsUserName = ::GetUserName((TCHAR*)username, &size );
: :
: : GetUserName 함수를 사용하는 코드인데, 이를 사용하면, 사용자 이름이 1로 표시 됩니다.
: :
: : 로그인한 사용자의 전체 이름을 알고 싶은데, 어떻게 해야 할까요?