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

Вниз

Опознать процесс !   Найти похожие ветки 

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

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

Наверх





Память: 0.47 MB
Время: 0.057 c
4-1123062262
MegaVolt
2005-08-03 13:44
2005.09.25
Какие сообщения регулируют рисование GridLines в ListView?


3-1123991145
Zaero
2005-08-14 07:45
2005.09.25
Как программно получить список алиасов и создать новый?


6-1117791451
Трофимов
2005-06-03 13:37
2005.09.25
Apache


1-1125545864
Гриха
2005-09-01 07:37
2005.09.25
Как инвертировать выделение в lisbox е?


3-1123076033
redlord
2005-08-03 17:33
2005.09.25
как записать кавычку в строчное поле таблици через SQL запрос





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский