winapi com moniker com-server

winapi - Obtener ID de proceso del servidor COM



moniker com-server (1)

Estoy haciendo algo de automatización mediante una combinación de mensajes de Windows que envían directamente a HWND y llamadas a un servidor COM expuesto por la aplicación automatizada.

Si hay más de una instancia ejecutándose, necesito poder determinar la identificación del proceso del servidor COM para poder acceder a la misma instancia con la llamada COM que a la que estoy enviando los mensajes de Windows.

Puedo enumerar todos los servidores COM en ejecución con la tabla de objetos en ejecución y recuperar los apodos para todos ellos, pero los objetos COM por sí mismos no exponen ningún método que pueda usar para obtener un identificador de ventana, identificador de proceso, ID de proceso o algo por el estilo .

¿Hay alguna manera de averiguar, en función de un apodo o el objeto COM vinculante real del apodo, cuál es la identificación del proceso del servidor COM?

¡Gracias!


Si controla (escribe el código) tanto el servidor como el cliente, puede agregar un método a su interfaz COM que devuelva el proceso / identificación del hilo o algo de esta naturaleza (por ejemplo, nombre de host del servidor si es remoto) en el servidor. En segundo lugar, @Hans: a menos que tengas acceso a la implementación del servidor, es posible que no tengas suerte por diseño.