Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.30;
Скачать: CL | DM;

Вниз

Поучение имени Юзверя.....   Найти похожие ветки 

 
Azerg ©   (2002-11-14 13:55) [0]

Уважаемые мастаки, подскажите пожалуйста как получить имя юзера под которым запущена программа-процесс


 
Marcus   (2002-11-14 14:14) [1]

Может что-то подобное поможет:
GetKernelObjectSecurity(OpenProcess(..., ), OWNER_SECURITY_INFORMATION, sd, ...);
GetSecurityDescriptorOwner(sd, sid, ...
LookupAccountSid(nil, sid, ...


 
Eugen Honeker   (2002-11-14 15:43) [2]




function GetProcessOwner(dwProcessID: DWORD; lpBuffer: PChar; nBufferLength: DWORD): boolean;
type
PTOKEN_USER = ^TOKEN_USER;
TOKEN_USER = record
User: SID_AND_ATTRIBUTES;
end;

var
hProcess,
hToken : THANDLE;
tinfo : array[0..255]of byte;
dwTmp: DWORD;
snu: SID_NAME_USE;
lpDomain: array[0..127]of char;
cbUser,
cbDomain: DWORD;
begin
result:= false;
hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE, dwProcessID);
if (hProcess = 0) then exit;

hToken:= 0;
if OpenProcessToken(hProcess, TOKEN_QUERY, hToken) then
try
if GetTokenInformation(hToken, TokenUser, @tinfo[0], sizeof(tinfo), dwTmp) then
if LookupAccountSid(nil, PTOKEN_USER(@tinfo[0]).User.Sid, lpBuffer, cbUser, lpDomain, cbDomain, snu) then
result:= (cbUser <= nBufferLength);
finally
CloseHandle(hToken);
end;
CloseHandle(hProcess);
end;


пример:

var
lpUserName: array[0..15]of char;
...
if GetProcessOwner({PID}, lpUserName, sizeof(lpUserName)) then
MessageBox(0, lpUserName, nil, 144);
...


 
Eugen Honeker   (2002-11-14 15:47) [3]

добавление:

для системных процессов нужно "SeDebugPrivilege".

если кто то знает лучшый вариант, пожалуста поделитесь.


 
AZerg ©   (2002-11-14 16:00) [4]

Спасибо:)))



Страницы: 1 вся ветка

Текущий архив: 2002.12.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-99362
stone
2002-12-11 11:35
2002.12.30
Картинки для кнопок


1-99127
V_Pavel
2002-12-18 11:09
2002.12.30
Вопрос по Excel


4-99405
mikhasenko
2002-11-14 17:25
2002.12.30
Специалисты, подскажите!


7-99383
pag77
2002-10-03 02:42
2002.12.30
можно ли в Windows XP заблокировать contr+alt+del?


6-99240
anmak
2002-10-30 17:21
2002.12.30
UDP + WinXP%(