GetUserName - Как определить имя текущего пользователя Windows в C++.
Win32 API Функция GetUserName — Получает имя пользователя для текущего процесса. Обычно это имя пользователя зарегистрировавшегося в системе. Имя текущего сеанса:
BOOL GetUserName
(
LPTSTR lpBuffer, // указатель на буфер
LPDWORD nSize // получает размер возвращает количество символов
);
Далее приложен пример рабочей программы:
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
#include "stdio.h"
#define UNLEN 256
void main()
{
char buffer[UNLEN+1]; // буфер
DWORD size; // размер
size=sizeof(buffer); // размер буфера
GetUserName(buffer,&size);
cout<<buffer;
getchar();
}
#define UNLEN 256
Размер буфера должен быть достаточный для того, чтобы вместить пользователя. Определение размера носит имя UNLEN и описана в Lmcons.h. При неудачном выполнении функция вернет NULL.
Препарат для борьбы с ВПЧ
Комментарий от Арк
[ 5 сентября, 2016, 17:22 ] |
Добавьте пример по GetUserNameEx
BOOLEAN WINAPI GetUserNameEx(
_In_ EXTENDED_NAME_FORMAT NameFormat,
_Out_ LPTSTR lpNameBuffer,
_Inout_ PULONG lpnSize
);
typedef enum {
NameUnknown = 0,
NameFullyQualifiedDN = 1,
NameSamCompatible = 2,
NameDisplay = 3,
NameUniqueId = 6,
NameCanonical = 7,
NameUserPrincipal = 8,
NameCanonicalEx = 9,
NameServicePrincipal = 10,
NameDnsDomain = 12
} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
|
Написать комментарий