Если речь о Винде, то опpеделить под каким Login'ом пользователь вошел в систему можно так :
OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hThread); для текущей задачи, или получив предварительно хандл процесса для другой GetTokenInformation(hThread, TokenGroups, ptg, cbTokenGroups, &cbTokenGroups) ; получаем в TokenGroups секьюрити контекст в виде SID пользователя, его групп и списков прав доступа, остается SID перевести в имена. BOOL LookupAccountSid(...)
Если нужно только имя пользователя под которым запущен текущий поток можно прще : BOOLEAN GetUserNameEx(EXTENDED_NAME_FORMAT NameFormat, LPTSTR lpNameBuffer, PULONG nSize); Подробности смотри в MSDN
|