Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.04.2012, 10:50
flyxman flyxman вне форума
Прохожий
 
Регистрация: 11.04.2012
Сообщения: 2
Репутация: 10
Вопрос Информация о доменном пользователе

Всем добрый день!
Подскажите пожалуйста, как получить Фамилию залогинивщегося на компьютере пользователя.
Есть домен и на каждом компьютере пользователи логинятся под своими учётками и мне нужно получить в переменной типа string именно Фамилию которая была заполнена в Active Directory, можно Имя и Фамилию. К примеру когда нажимаешь Пуск то вверху пуска написана интересующая меня информация, прошу не путать с именем пользователя, у меня все логинятся с учётками где имя пользователя номера, но Фамилии у всех разные.
Пробовал выдёргивать эту информацию из Реестра, но она не в статическом месте лежит.
Кроме как делать LDAP запрос есть варианты? Я не очень умею их делать и не очень бы хотелось. Хотелось бы локально выдёргивать эту информацию.
Заранее спасибо.
Ответить с цитированием
  #2  
Старый 11.04.2012, 13:33
flyxman flyxman вне форума
Прохожий
 
Регистрация: 11.04.2012
Сообщения: 2
Репутация: 10
По умолчанию

У всех прошу прощения, разобрался.

Ответ нашелся на этом же сайте.

Код:
 { 
  Windows NT/2000/XP: 

  The GetUserNameEx function retrieves the name of the user or other 
  security principal associated with the calling thread. 
  You can specify the format of the returned name. 
  If the thread is impersonating a client, GetUserNameEx 
  returns the name of the client. 
}

 const
   NameUnknown = 0; // Unknown name type. 
  NameFullyQualifiedDN = 1;  // Fully qualified distinguished name 
  NameSamCompatible = 2; // Windows NT® 4.0 account name 
  NameDisplay = 3;  // A "friendly" display name 
  NameUniqueId = 6; // GUID string that the IIDFromString function returns 
  NameCanonical = 7;  // Complete canonical name 
  NameUserPrincipal = 8; // User principal name 
  NameCanonicalEx = 9;
   NameServicePrincipal = 10;  // Generalized service principal name 
  DNSDomainName = 11;  // DNS domain name, plus the user name 


procedure GetUserNameEx(NameFormat: DWORD;
   lpNameBuffer: LPSTR; nSize: PULONG); stdcall;
   external 'secur32.dll' Name 'GetUserNameExA';


 function LoggedOnUserNameEx(fFormat: DWORD): string;
 var
   UserName: array[0..250] of char;
   Size: DWORD;
 begin
   Size := 250;
   GetUserNameEx(fFormat, @UserName, @Size);
   Result := UserName;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   Edit1.Text := LoggedOnUserNameEx(NameDisplay);
 end;

Последний раз редактировалось Admin, 11.04.2012 в 15:32.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:55.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025