Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получение handle процесса по его имени

495
17 октября 2002 года
Gudvin
17 / / 20.02.2000
Какой функцией это можно сделать?
Или поставим вопрос шире: как убить процесс по его имени?
И еще
Как проверить наличие в памяти чужого процесса? Зная его имя.
476
17 октября 2002 года
man2002ua
218 / / 16.10.2002
Цитата:
Originally posted by Gudvin
Какой функцией это можно сделать?
Или поставим вопрос шире: как убить процесс по его имени?
И еще
Как проверить наличие в памяти чужого процесса? Зная его имя.



кинь пробное письмо на [email]man@kiev.vectis.ru[/email] - вышлю тебе свою утилитку, к-я косит процесс по имени его EXE-шника. Правда на делфи, облом переписывать на Си... сам переведешь?

btw, утилитка работает и под 9x и под NT/2K

421
18 октября 2002 года
bercut
124 / / 20.06.2000
Цитата:
Originally posted by Gudvin
Какой функцией это можно сделать?
Или поставим вопрос шире: как убить процесс по его имени?
И еще
Как проверить наличие в памяти чужого процесса? Зная его имя.



В папке, где установлен у тебя C++Builder5 есть пример отслеживания процессов и их уничтожения. Вот эта папочка с примером, надеюсь разберешься:
ExamplesAppsProcview
Если у тебя нет C++Builder, то могу выслать пример.

495
18 октября 2002 года
Gudvin
17 / / 20.02.2000
Уже придумал, как это сделать с помощью snapshot'ов
476
18 октября 2002 года
man2002ua
218 / / 16.10.2002
Цитата:
Originally posted by Gudvin
Уже придумал, как это сделать с помощью snapshot'ов



попробуй заставить snapshot под NT :D

2.6K
19 октября 2002 года
powerru
1 / / 19.10.2002
MSDN: есть такая функция FindWindow называется, вот она как раз возвращает хендл по имени окна! RTFM.
3
20 октября 2002 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by powerru
MSDN: есть такая функция FindWindow называется, вот она как раз возвращает хендл по имени окна! RTFM.



Т.е. ты считаешь, что процесс и окно это одно и тоже, и что хендл окна тоже самое, что и хендл процесса? :D :D :D

476
21 октября 2002 года
man2002ua
218 / / 16.10.2002
Интересно было бы посмотреть, как по окну получить хендл процесса :D
Можно получить только идент-р потока и процесса, связанного с этим окном (GetWindowThreadProcessId)и ничего больше из хендла окна не вытянешь 8-)
Потом конечно можно OpenProcecc по его идент-ру, но это уже другой вопрос. Оригинальный вопрос в том, как получить по имени процесса (если он не имеет окон). Так вот в W98 есть такая фигня, к-я называется CreateToolhelp32Snapshot (из Tlhelp32.dll - там еще много полезного), только в NT/2K это уже не катит, и список процессов можно получить через реестр (где искать знаю, но так и не нашел формата стр-р :-( или через NtQuerySystemInformation, но это долго рассказывать - кому надо мыльте мне - вышлю текст. Проще всего найти NT SDK, в к-й есть библиотека psapi.dll (кажется) - это что-то вроде tlhelp32.dll под NT
3
21 октября 2002 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by man2002ua
Интересно было бы посмотреть, как по окну получить хендл процесса :D
Можно получить только идент-р потока и процесса, связанного с этим окном (GetWindowThreadProcessId)и ничего больше из хендла окна не вытянешь 8-)
Потом конечно можно OpenProcecc по его идент-ру, но это уже другой вопрос. Оригинальный вопрос в том, как получить по имени процесса (если он не имеет окон). Так вот в W98 есть такая фигня, к-я называется CreateToolhelp32Snapshot (из Tlhelp32.dll - там еще много полезного), только в NT/2K это уже не катит, и список процессов можно получить через реестр (где искать знаю, но так и не нашел формата стр-р :-( или через NtQuerySystemInformation, но это долго рассказывать - кому надо мыльте мне - вышлю текст. Проще всего найти NT SDK, в к-й есть библиотека psapi.dll (кажется) - это что-то вроде tlhelp32.dll под NT



Про CreateToolhelp32Snapshot в 2К ты неправ, см. MSDN:
Requirements
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Tlhelp32.h.
Library: Use Kernel32.lib.

476
21 октября 2002 года
man2002ua
218 / / 16.10.2002
Цитата:
Originally posted by Green


Про CreateToolhelp32Snapshot в 2К ты неправ, см. MSDN:
Requirements
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Tlhelp32.h.
Library: Use Kernel32.lib.



!!!
КАЮСЬ :-o
Я не пользовался этой ф-ей, когда перешел с 98 на NT и представляешь - не обратил внимание на MSDN :)

Green - ты мужик толковый - зайди на "Низкоуровневое программирование" - там мой вопрос "Инъекции". Может подскажешь чего? :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог