Текущий архив: 2005.09.25;
Скачать: CL | DM;
ВнизОпознать процесс ! Найти похожие ветки
← →
psa247 © (2005-08-03 10:19) [0]Как, если это возможно, с помощью WinApi отличить процесс Windows(MicroSoft) от остальных?
← →
Игорь Шевченко © (2005-08-03 10:23) [1]Такого процесса нету
← →
psa247 © (2005-08-03 10:29) [2]В смысле стандартные виндовские процессы, типа: SVCHOST и т.п.
← →
Digitman © (2005-08-03 10:37) [3]а это зачем понадобилось ? каков тайный смысл в этом ?
← →
psa247 © (2005-08-03 10:45) [4]Ничего тайного; Это в качестве доп. информации.
← →
Игорь Шевченко © (2005-08-03 10:48) [5]
> В смысле стандартные виндовские процессы, типа: SVCHOST
> и т.п.
Очевидно, по учетной записи создавшей процесс.function SIDToName (const SID: PSID): string;
var
Use: SID_NAME_USE;
DomainName: ZString;
DomainNameLength: DWORD;
Name: ZString;
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;
Дальше сравнивать полученной имя с системными...
← →
psa247 © (2005-08-03 13:11) [6]Пример пригодился, спасибо...
Немного не то я хотел. Можно ли отобразить только "родные" Windows-кие процессы?
← →
BiN © (2005-08-03 13:21) [7]Тогда копай в сторону определения цифровой подписи у файла образа процесса.
← →
psa247 © (2005-08-03 13:28) [8]Не факт.
← →
Игорь Шевченко © (2005-08-03 14:04) [9]
> Можно ли отобразить только "родные" Windows-кие процессы?
Чем определяется степень родства ?
← →
psa247 © (2005-08-03 16:00) [10]Насчет родства - не так выразился. Игорь, обратите внимание на процедуру GatherData из http://www.schevchenko.net.ru/SRC/QuerySystemInformation_60.zip
При частом обращении - съедает память, ошибку пока не нашел
← →
Джо © (2005-08-03 16:04) [11]Читай информацию VERSION_INFO из модуля. В разделе "копирайт" ищи Microsoft. Возможно, этого будет достаточно для "грязного" метода.
← →
Игорь Шевченко © (2005-08-03 16:15) [12]psa247 © (03.08.05 16:00) [10]
Конечно съедает, так как освобождения там не предусмотрено. Собственно, это просто пример использования, а не готовая программа.
Страницы: 1 вся ветка
Текущий архив: 2005.09.25;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.039 c