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

Вниз

Определение пользователя который запустил процесс   Найти похожие ветки 

 
denis_l   (2009-12-22 22:32) [0]

Есть приложение, в котором я получаю список процессов в виде дерева TreeView. О процессе знаю следующее:
1) Имя процесса (например Project1.exe)
2) ID процесса (PID)
Необходимо определить пользователя, от имени которого запущен процесс.
Если можно - пример!


 
Игорь Шевченко ©   (2009-12-22 23:51) [1]

Пример можно:


function SIDToName (const SID: PSID): string;
var
 Use: SID_NAME_USE;
 DomainName: array;0..1024] of char;
 DomainNameLength: DWORD;
 Name: array[0..1024] of char;
 NameLength: DWORD;
begin
 DomainNameLength := SizeOf(DomainName);
 NameLength := SizeOf(Name);
 if not LookupAccountSid (nil, SID, Name, NameLength, DomainName,
    DomainNameLength, Use) then
   Result := "***"
 else
   Result := Name;
end;

function GetUserName (ProcessId: Cardinal): string;
var
 AccessToken: THandle;
 SidInfo: PSIDANDATTRIBUTES;
 ReturnLength: DWORD;
 ProcessHandle: THandle;
begin
 Result := "";
 ProcessHandle := OpenProcess(PROCESS_QUERY_INFORMATION, false,
   ProcessId);
 if ProcessHandle = 0 then
   Exit;
 try
   if not OpenProcessToken(ProcessHandle, TOKEN_QUERY, AccessToken) then
     Exit;
   GetMem (SidInfo, 4096);
   try
     Win32Check(GetTokenInformation(AccessToken, TokenUser, SidInfo, 4096,
       ReturnLength));
     Result := SidToName(SidInfo^.Sid);
   finally
     FreeMem(SidInfo);
     CloseHandle(AccessToken);
   end;
 finally
   CloseHandle(ProcessHandle);
 end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.095 c
4-1261361454
SPeller
2009-12-21 05:10
2013.03.22
Проблема с циклом выборки сообщений


2-1332098665
ProgRAMmer Dimonych
2012-03-18 23:24
2013.03.22
IDropTarget и TListView: конфликт с именем метода в TControl в D7


15-1333744203
Юрий
2012-04-07 00:30
2013.03.22
С днем рождения ! 7 апреля 2012 суббота


15-1331053532
vrem
2012-03-06 21:05
2013.03.22
телевизор 42" как монитор для компьютера


15-1341400402
Inovet
2012-07-04 15:13
2013.03.22
Нашли бозон Хигса (?)