Если вы управляете (пишете код) как сервером, так и клиентом, вы можете добавить в свой интерфейс COM метод, который возвращал бы идентификатор процесса / потока или что-либо подобное (например, имя хоста сервера, если он удаленный) на стороне сервера. Я второй @Hans - если у вас нет доступа к реализации сервера, вам может не повезти в дизайне.
аю некоторую автоматизацию через комбинацию отправки сообщений Windows непосредственно HWND и вызовам на COM-сервер, предоставляемый автоматизированным приложением.
Если запущено более одного экземпляра, мне нужно иметь возможность определить идентификатор процесса COM-сервера, чтобы я мог подключиться к тому же экземпляру с помощью вызова COM, что и тот, которому я отправляю сообщения Windows.
Я могу перечислить все работающие COM-серверы с таблицей запущенных объектов и вернуть для всех из них моникеры, но сами COM-объекты не предоставляют методов, которые я могу использовать, чтобы получить дескриптор окна, идентификатор потока, идентификатор процесса или что-либо подобное. ,
Есть ли способ выяснить, на основе моникера или фактического связывающего COM-объекта моникера, каков ID процесса COM-сервера?
Спасибо!