Добрый день, подскажите, pls – есть COM-сервер в EXE, чужой (исходников нет). Клиент запускает его – стартует EXE’шник – COM-объект в EXE. Вопрос: можно ли однозначно вытащить ProcessID этого EXE’шника (т.е., не прибегая к сканированию в отдельном потоке изменений в списке процессов)?
Hello, "avk-75" > Добрый день, подскажите, pls – есть COM-сервер в EXE, чужой (исходников нет). Клиент запускает его – стартует EXE’шник – COM-объект в EXE. Вопрос: можно ли однозначно вытащить ProcessID этого EXE’шника (т.е., не прибегая к сканированию в отдельном потоке изменений в списке процессов)? >
Конечно можно. Маршалируешь интерфейс в поток и после этого из потока выковыриваешь ProcessID. На форуме это уже обсуждалось
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Может быть, дадите ссылку на эту ветку форума?.. Или хотя бы – по каким словам искать.
Я как понимаю: если клиентский поток (создавший объект и вызывающий его функции) каким-то образом объединить с потоком самого объекта (т.е. EXE-шника), получить процесс можно будет с помощью GetCurrentProcessId. Ход мыслей правильный?
Здравствуйте, avk-75, Вы писали:
A7>Может быть, дадите ссылку на эту ветку форума?.. Или хотя бы – по каким словам искать.
По словам George Seryakov
A7>Я как понимаю: если клиентский поток (создавший объект и вызывающий его функции) каким-то образом объединить с потоком самого объекта (т.е. EXE-шника), получить процесс можно будет с помощью GetCurrentProcessId. Ход мыслей правильный?
Идея простая. Берем объект, запрашиваем IMarshal маршалируем это все в поток (stream). Где-то в этом stream будет ProcessID процесса в котором и живет данный объект. Надо только "угадать" со структурой смаршаллированных данных.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.