получить идентификатор процесса работающего Java-приложения из Windows-приложения

0

Я запускаю Java-приложение (testApp.exe) с помощью API CreateProcess() win32. Структура PROCESS_INFORMATION возвращает мне идентификатор процесса, который не существует в списке PID в API taskmanager или EnumProcesses(). Я вижу, что один javaw.exe запущен с другим идентификатором процесса. этот идентификатор процесса javaw.exe отличается от PID, возвращаемого структурой PROCESS_INFORMATION.

Как я могу получить правильный PID.

Я хочу запустить это Java-приложение, и через некоторое время я хочу убить это приложение Java с помощью PID.

Теги:
winapi

1 ответ

0

Для CreateProcess() физически невозможно сообщить PID, который TaskManager не видит (если не существует трояна/руткита низкого уровня, который скрывает PID). Пока процесс не завершится И вы закроете дескрипторы, которые возвращает CreateProcess(), процесс существует, и его PID не может исчезнуть.

Скорее всего, вы закрываете дескрипторы из CreateProcess(), и новый процесс, о котором идет речь, выходит, прежде чем у вас появится возможность посмотреть в TaskManager или перечислить запущенные процессы в коде.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню