Re: Каталог экзешника: вопросы по нюансам
От: Jolly Roger  
Дата: 20.03.10 11:45
Оценка:
Здравствуйте, ptrts, Вы писали:

P>Вопрос №1. Неужели чтобы получить хэндл процесса, никак не обойтись без hWnd? При чем здесь окно, ведь процесс как таковой вообще не обязан иметь окна


GetModuleFileName(0, buffer, sizeof(buffer))

P>Вопрос №2. Чем отличается идентификатор процесса (который GetWindowThreadProcessId) от хэндла процесса (который OpenProcess)?


Первая возвращает идентификатор процесса, уникальный в пределах машины, вторая — хёндл ядерного объекта "процесс", уникальный в пределах одного, вызвавшего данную функцию процесса.

На машине не может быть одновременно двух процессов с одинаковым ProcessID и двух потоков с одинаковым ThreadID. Результат вызова GetWindowThreadProcessId в разных процессах для одного и того-же окна вернёт одинаковые ProcessID и ThreadID. А несколько вызовов OpenProcess с одинаковыми параметрами даже в одном процессе вернут разные хёндлы, если между вызовами эти хёндлы не закрывать.

О разнице рассказывать слишком долго, лучше книжку какую-никакую прочитайте.
"Нормальные герои всегда идут в обход!"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.