Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
4-99400
dwax
2002-11-14 13:12
2002.12.30
иконки


14-99357
D.V.K
2002-12-11 13:09
2002.12.30
Как установить под Delphi7 компоненты от других Delphi


14-99351
hatchy
2002-12-11 12:42
2002.12.30
Надо что делать когда сам незнаешь как...


3-98995
Alathorne
2002-12-10 14:58
2002.12.30
MSSQL & user status= sleeping


3-98992
OutSidEr
2002-12-09 12:39
2002.12.30
Непонятки с INSERT.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский