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

Вниз

Список процессов   Найти похожие ветки 

 
_bass   (2009-05-03 02:07) [0]

Здравствуйте.
Подскажите пожалуйста, как получить список процессов(включая системные) на ос win vista. На xp все отлично работает через Toolhelp32Snapshot, а на vista, например, не находит даже explorer.exe.


 
Eraser ©   (2009-05-03 02:46) [1]

> [0] _bass   (03.05.09 02:07)

в висте тоже этот способ работает. но для начала нужно изучить систему безопасности висты, точнее её отличие от xp"шной.


 
Германн ©   (2009-05-03 02:56) [2]


> Eraser ©   (03.05.09 02:46) [1]
>
> > [0] _bass   (03.05.09 02:07)
>
> в висте тоже этот способ работает. но для начала нужно изучить
> систему безопасности висты, точнее её отличие от xp"шной.
>
>

Удар "поддых"!
:)


 
Игорь ©   (2009-05-03 10:08) [3]


> _bass   (03.05.09 02:07)



Вот держи, должно работать в ОС 2000, 2003, XP, Vista

http://www.onlinedisk.ru/file/132291/


 
_bass   (2009-05-03 14:36) [4]

Спасибо.

_GetProcessPath(PSPI^.ProcessId, _Path); -> Access violation at address 0047DD15 in module "Project1.exe". Read of address 01039558


 
Игорь ©   (2009-05-03 17:03) [5]


> _bass   (03.05.09 14:36) [4]


Это мне ни о чем не говорит, а кнопкой F7 нельзя пройтись по коду?


 
_bass   (2009-05-03 23:05) [6]

Спасибо, разобрался. Подскажите, как узнать Parent pID процесса, имея его pID.


 
runaum   (2009-05-03 23:33) [7]

@_bass, посмотрите исходники madCollection (madshi.net), сразу же станут понятнее многие моменты, тем более документация на уровне. К тому же, если надо сделать и нет времени на разбор, то это наилучший вариант.


 
Игорь ©   (2009-05-04 00:11) [8]


> _bass   (03.05.09 23:05) [6]


type
 PROCESS_BASIC_INFORMATION = packed record
   ExitStatus: DWORD;
   PebBaseAddress: Pointer;
   AffinityMask: DWORD;
   BasePriority: DWORD;
   UniqueProcessId: ULONG;
   InheritedFromUniqueProcessId: ULONG;
 end;

 TNtQueryInformationProcess = function(ProcessHandle: THandle; ProcessInformationClass: Byte;
   ProcessInformation: Pointer; ProcessInformationLength: ULONG; ReturnLength: PULONG): DWORD; stdcall;

var
 _NtQueryInformationProcess: TNtQueryInformationProcess;

FormCreate...
 DLLHandle:= LoadLibrary("ntdll.dll");
 if DLLHandle <> 0 then
   @_NtQueryInformationProcess:= GetProcAddress(DLLHandle, "NtQueryInformationProcess");

...
function GetParentProcessID(PID: DWORD): DWORD;
var
 ProcessInformation: PROCESS_BASIC_INFORMATION;
begin
 if _NtQueryInformationProcess(OpenProcess(MAXIMUM_ALLOWED, False, PID), 0, @ProcessInformation, SizeOf(ProcessInformation), nil) = 0 then
   Result:= ProcessInformation.InheritedFromUniqueProcessId
 else
   Result:= 0;
end;

...

SubItems.Add(IntToStr(GetParentProcessID(PSPI^.ProcessId)));


 
Игорь ©   (2009-05-04 11:12) [9]


> Игорь ©   (04.05.09 00:11) [8]


Чета я сморозил, в PSYSTEM_PROCESS_INFORMATION уже есть InheritedFromProcessId



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

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

Наверх





Память: 0.46 MB
Время: 0.004 c
2-1282306183
подмастерье
2010-08-20 16:09
2010.11.14
Создание своей формы


15-1281080893
Knight
2010-08-06 11:48
2010.11.14
Как сделать быструю загрузку файла для просмотра?


15-1280907858
12
2010-08-04 11:44
2010.11.14
Мысленное управление. Не обманывают ли?


15-1281040197
Юрий
2010-08-06 00:29
2010.11.14
С днем рождения ! 6 августа 2010 пятница


15-1280862868
Kerk
2010-08-03 23:14
2010.11.14
Про колбасу





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