На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

How to Look Up a User's Full Name



Computers running Windows can be organized into a domain, which is a collection of computers on a Windows NT Server network. The domain administrator maintains centralized user and group account information.

To find the full name of a user, given the user name and domain name on Windows NT:

· Convert the user name and domain name to Unicode, if they are not already Unicode strings.
· Look up the computer name of the domain controller (DC) by calling NetGetDCName.
· Look up the user name on the DC computer by calling NetUserGetInfo.
· Convert the full user name to ANSI, unless the program is expecting to work with Unicode strings.



The following sample code is a function that takes a user name and a domain name in the first two arguments and returns the user's full name in the third argument.

#include
#include
#include

BOOL GetFullName( char *UserName, char *Domain, char *dest )
{
WCHAR wszUserName[256]; // Unicode user name
WCHAR wszDomain[256];
LPBYTE ComputerName;

struct _SERVER_INFO_100 *si100; // Server structure
struct _USER_INFO_2 *ui; // User structure

// Convert ANSI user name and domain to Unicode

MultiByteToWideChar( CP_ACP, 0, UserName,
strlen(UserName)+1, wszUserName, sizeof(wszUserName) );

MultiByteTOWideChar( CP_ACP, 0, Domain,
strlen(Domain)+1, wszDomain, sizeof(wszDomain) );

// Get the computer name of a DC for the domain.

NetGetDCName( NULL, wszDomain, &ComputerName );

// Look up the user on the DC.

if( NetUserGetInfo( (LPWSTR) ComputerName,
(LPWSTR) &wszUserName, 2, (LPBYTE *) &ui ) )
{
printf( "Error getting user information.\n" );
return( FALSE );
}

// Convert the Unicode full name to ANSI.


WideCharToMultiByte( CP_ACP, 0, ui->usri2_full_name, -1,
dest, 256, NULL, NULL );

return (TRUE);
}



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Как, чтобы ИСКАТЬ Полное Имя Потребителя



Компьютеры, выполняющие Windows может быть организован в область, которая является сбором компьютеров в сети Сервера Windows NT. Доменный администратор поддерживает централизованного пользователя и группирует учетную информацию.

Для того, чтобы находить полное имя пользователя, давшее имя пользователя и доменного имени на Windows NT:

Преобразование имя пользователя и доменного имени в Уникод, если они - не уже строки Уникода.
Искать компьютерное имя доменного диспетчера (DC) вызывая NetGetDCName.
Искать имя пользователя в компьютере DC вызывая NetUserGetInfo.
Преобразование полное имя пользователя на ANSI, если программа не ожидает, что будет работать со строками Уникода.



Следующий код образца является функцией, которая берет имя пользователя и доменное имя в первых двух аргументах и возвращает полное имя пользователя в третий аргумент.

#include #include #include

BOOL GetFullName( СИМВОЛ *UserName, символ *Область, символ *dest )
{
WCHAR wszUserName[256]; // Имя пользователя Уникода WCHAR wszDomain[256];
LPBYTE ComputerName;

struct _SERVER_INFO_100 *si100; // Структура Сервера struct _USER_INFO_2 *ui; // Структура Пользователя

// Имя пользователя Преобразования ANSI и область в Уникод

MultiByteToWideChar( CP_ACP, 0, UserName, strlen(UserName)+1, wszUserName, sizeof(wszUserName) );

MultiByteTOWideChar( CP_ACP, 0, ОБЛАСТЬ, strlen(Domain)+1, wszDomain, sizeof(wszDomain) );

// Получите компьютерное имя DC для области.

NetGetDCName( НЕДЕЙСТВИТЕЛЬНЫЙ, wszDomain, &ComputerName );

// Поищите пользователя на DC.

если( NetUserGetInfo( (LPWSTR) ComputerName, (LPWSTR) &wszUserName, 2, (LPBYTE *) &ui ) )
{
printf( "Ошибка, получающая пользователя information.\n" );
возврат( ЛОЖЬ );
}

// Преобразовайте полное имя Уникода на ANSI.


WideCharToMultiByte( CP_ACP, 0, ui->usri2_full_name, -1, dest, 256, НЕДЕЙСТВИТЕЛЬНОЕ, НЕДЕЙСТВИТЕЛЬНОЕ );

возврат (ИСТИНА);
}



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz