Меню
Категории
GetUserName – Как определить имя текущего пользователя Windows в C++
28 февраля, 2008 Программинг

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.

"1" Comment
  1. Добавьте пример по 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;

Добавить комментарий




*