Melden Sie sich unter Windows 8 mit C ++ und WinAPIs als Benutzer oder per E-Mail an

Unter Windows 7 kann ich den Namen eines angemeldeten Benutzers folgendermaßen abrufen:

LPTSTR pUserName = NULL;
DWORD dwcbSzUserName = 0;

//'dwSessID' = user session ID
if(WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, dwSessID, WTSUserName, &pUserName, &dwcbSzUserName))
{
    //Got user name in 'pUserName'
}

if(pUserName)
    WTSFreeMemory(pUserName);

Unter Windows 8 wird jedoch ein abgekürzter Name zurückgegeben, beispielsweise "john_000", wenn der tatsächliche Name des Benutzers "John A. Doe" ist.

Wie können Sie also den Namen des angemeldeten Benutzers (und möglicherweise dessen E-Mail) unter Windows 8 mit C ++ mithilfe von WinAPIs abrufen, wie dies auf dem Anmeldebildschirm angezeigt wird?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage