Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как по ProcessHandle получить ProcessID [D5, D6, D7, Win2k, WinXP]


Страницы:   1 2

xAnjel ©   (2005-01-02 19:42:00) 

перебор всех ID и получение по них Handle не предлагать

MessageBox(0,PChar(Int2Str(OpenProcess(PROCESS_TERMINATE,False,GetCurrentProcessID))),'Generated1',0);
MessageBox(0,PChar(Int2Str(OpenProcess(PROCESS_ALL_ACCESS,False,GetCurrentPocessID))),'Generated2',0);
MessageBox(0,PChar(Int2Str(OpenProcess(PROCESS_TERMINATE,False,GetCurrentPocessID))),'Generated3',0);
MessageBox(0,PChar(Int2Str(OpenProcess(PROCESS_ALL_ACCESS,False,GetCurrentPocessID))),'Generated4',0);

все разные значения будут!!!

CloseHandle делать нельзя.


GuAV   (2005-01-04 14:54:00) [21]

http://msdn.microsoft.com/library/en-us/dllproc/base/getprocessid.asp
, но Requires Windows XP SP1.

Для более старых ОС - некокументированная функция из ntdll.dll
Пример - на сайте Игоря Шевченко в QuerySystemInformation_60


Erik1   (2005-01-04 11:25:00) [22]

Сразу приходит в голову получить список всех процесов и перебрать их Handle. Когда оказывается одинаковый с заданым, вытаскиваем его ID.


kaZaNoVa   (2005-01-03 15:41:00) [23]

xAnjel ©   (03.01.05 14:57) [6]

> Можно! видел dcu которые это делали, но нужен сурс

ну, так ..   ИДА в зубы и вперёд:))


Piter   (2005-01-03 15:26:00) [24]

Каким образом ты хочешь с ним работать?


xAnjel   (2005-01-03 14:57:00) [25]

>> Никак.
Можно! видел dcu которые это делали, но нужен сурс

>> А зачем тебе нужно знать ID процесса?
чтобы знать что за процесс, и работать с ним соответственно.


Piter   (2005-01-03 14:31:00) [26]

Никак.

А зачем тебе нужно знать ID процесса?


xAnjel   (2005-01-03 14:04:00) [27]

процесс не мой, моя только длл, и не я решал, что передавать, так что передают хендл, который закрывань не желательно.
Так все же как по Handle получить ID процесса?


Piter   (2005-01-03 13:51:00) [28]

xAnjel ©   (03.01.05 12:18) [2]
в ф-цыю передаетса хендл процесса


handle процесса будет для всех процессов разный. И в одном процессе он будет разный, как ты сам заметил. Поэтому передавать надор ID процесса - величину постоянную.

И между прочим, на каждый OpenProcess надо сделать CloseHandle


xAnjel   (2005-01-03 12:18:00) [29]

мне не свого процесса надо, у меня длл подгружаемая другим процессом, в ф-цыю передаетса хендл процесса (любого), а мне нужно узнать что за процесс, по его хендлу!


Eraszer   (2005-01-02 20:09:00) [30]

GetCurrentProcessId


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо