Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 14:16   #1
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию как вернуть имена пользователей в домене?

привет! спасайте! у всех пользователей на компах стояла XP, поменяли на 7, исчезли имена пользователей .. а у меня функция заточена на это
Код:
function GetNTDomainName: string; 
var
  hReg: TRegistry;
begin
  hReg:= TRegistry.Create;
  hReg.RootKey:= HKEY_LOCAL_MACHINE;
  hReg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', false);
  Result:= hReg.ReadString('DefaultUserName');
  hReg.CloseKey;
  hReg.Destroy;
end;
что делать чтобы вернуть имена пользователей в домене?
kate158 вне форума Ответить с цитированием
Старый 04.05.2012, 15:19   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Что значит исчезли имена пользователей в домене? Версия Windows на Active Directory никак не влияет и при чём тут вообще Delphi?
FaTaL вне форума Ответить с цитированием
Старый 04.05.2012, 19:44   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Когда-то пользовался вот такой функцией:
Код:
    function  GetUsers(CompName: String): String;
   var
   Buffer, tmpBuffer: Pointer;
    PrefMaxLen       : DWORD;
  Resume_Handle    : DWORD;
  EntriesRead      : DWORD;
   TotalEntries     : DWORD;
 I, Size          : Integer;
 PSrvr            : PWideChar;
 begin
PSrvr := nil;
 try
    // Переводим имя компьютера типа PWideChar
   Size := Length(CompName);
    GetMem(PSrvr, Size * SizeOf(WideChar) + 1);
    StringToWideChar(CompName, PSrvr, Size + 1);
   PrefMaxLen := DWORD(-1);
     EntriesRead := 0;
    TotalEntries := 0;
    Resume_Handle := 0;
    Buffer := nil;
  // Получаем список пользователей на компьютере из PSrvr
           if NetWkstaUserEnum( PSrvr, 1, @Buffer, PrefMaxLen, @EntriesRead,
             @TotalEntries, @Resume_Handle) = S_OK then
           begin
             tmpBuffer := Pointer(DWORD(Buffer) + SizeOf(WKSTA_USER_INFO_1));
             for I := 1 to TotalEntries - 1 do
             begin
               Result := Result + WKSTA_USER_INFO_1(tmpBuffer^).wkui1_username + ', ';
               tmpBuffer := Pointer(DWORD(tmpBuffer) + SizeOf(WKSTA_USER_INFO_1));
            end;
            Result := Copy(Result, 1, Length(Result) - 2);
    end
    else
     Result:='...Сеансов нет';
       //ShowMessage(SysErrorMessage(GetLastError));
   finally
       NetApiBufferFree(Buffer);
       FreeMem(PSrvr);
   end;
    end;
CompName - тут имя домена пиши. Получишь в строку имена пользунков через запятую.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.05.2012, 12:08   #4
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

как получить только имя залогиненного, текущего пользователя?
kate158 вне форума Ответить с цитированием
Старый 10.05.2012, 12:57   #5
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

GetUserName
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как быть, если имя и пользователь не допустим в этом домене svet-LANA Помощь студентам 1 22.12.2010 10:30
Как запускать скрипт на определённом домене? VPK JavaScript, Ajax 3 16.11.2010 01:11
Как запускать скрипт на определённом домене? VPK PHP 6 12.11.2010 23:47
как вернуть звук? Дініс Компьютерное железо 12 27.08.2009 10:13
Как вернуть Swithboard? Skolot Microsoft Office Access 4 08.06.2009 09:45