|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
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, НЕДЕЙСТВИТЕЛЬНОЕ, НЕДЕЙСТВИТЕЛЬНОЕ );
возврат (ИСТИНА); }
|
|
|
|
| |