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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2009, 23:12   #1
doniyor
Форумчанин
 
Аватар для doniyor
 
Регистрация: 22.04.2008
Сообщений: 143
Печаль Пользователи WindowsXP

Добрый день, коллеги!
Хотелось бы поинтересоваться во о чём -
Как с помощью Дельфи организовать перечисление ВСЕХ пользователей ХРюшки???
Мой сайт - www.fortis-soft.narod.ru
doniyor вне форума Ответить с цитированием
Старый 29.03.2009, 23:17   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Из всем доступного моего справочника:
Код:
Список пользователей в Windows NT/2000

unit func;

interface

uses
sysutils, classes, stdctrls, comctrls, graphics, windows;

{$externalsym netuserenum}
function netuserenum(servername: lpwstr; level, filter: dword; bufptr: pointer;
prefmaxlen: dword; entriesread, totalentries, resume_handle: lpdword): dword;
stdcall; external 'netapi32.dll' name 'netuserenum';
function netapibufferfree(buffer: pointer{lpvoid}): dword; stdcall;
external 'netapi32.dll' name 'netapibufferfree';
procedure getlocaluserlist(ulist: tstringlist);

implementation

// возвращает список пользователей локального хоста
procedure getlocaluserlist(ulist: tstringlist);
const
nerr_success = 0;
filter_temp_duplicate_account = $0001;
filter_normal_account = $0002;
filter_proxy_account = $0004;
filter_interdomain_trust_account = $0008;
filter_workstation_trust_account = $0010;
filter_server_trust_account = $0020;

type
tuser_info_10 = record
usri10_name,
usri10_comment,
usri10_usr_comment,
usri10_full_name: pwidechar;
end;

puser_info_10 = ^tuser_info_10;

var
dweread, dwetotal, dwres, res: dword;
inf: puser_info_10;
info: pointer;
p: pchar;
i: integer;
begin
if ulist = nil then exit;
ulist.clear;
info := nil;
dwres := 0;
res := netuserenum(nil, 10, filter_normal_account, @info, 65536, @dweread,
@dwetotal, @dwres);
if (res <> nerr_success) or (info = nil) then exit;
p := pchar(info);
for i:=0 to dweread - 1 do begin
inf := puser_info_10(p + i * sizeof(tuser_info_10));
ulist.add(widechartostring(pwidechar((inf^).usri10_name)));
end;
netapibufferfree(info);
end;

end.
mihali4 вне форума Ответить с цитированием
Старый 29.03.2009, 23:21   #3
doniyor
Форумчанин
 
Аватар для doniyor
 
Регистрация: 22.04.2008
Сообщений: 143
По умолчанию Thanks!

Спасибо! Щас попробую!
Мой сайт - www.fortis-soft.narod.ru
doniyor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После переустановки WindowsXP перестает загружаться Vista!!! dooomman Windows 7 19.02.2009 23:41
БД и пользователи. Реал-тайм. Ramires БД в Delphi 7 19.01.2009 10:40
Обновления WindowsXP bizpartner Софт 8 19.08.2008 18:47
ListView + {$R WindowsXP.res} AidarBik Win Api 0 29.07.2008 14:17
Идентификация пользователя на каком-либо сайте. Продвинутые пользователи - к Вам вопрос. Макса Безопасность, Шифрование 9 23.10.2007 21:36