8

HWNDに直接送信するWindowsメッセージと、自動化されたアプリケーションによって公開されるCOMサーバーへの呼び出しを組み合わせて自動化を行っています。

複数のインスタンスが実行されている場合は、COMサーバーのプロセスIDを判別できる必要があります。これにより、Windowsメッセージを送信するインスタンスと同じインスタンスをCOM呼び出しでヒットできるようになります。

実行中のすべてのCOMサーバーを実行中のオブジェクトテーブルで列挙し、それらすべてのモニカを取得できますが、COMオブジェクト自体は、ウィンドウハンドル、スレッドID、プロセスID、またはそのようなものを取得するために使用できるメソッドを公開していません。 。

モニカまたはモニカの実際のバインディングCOMオブジェクトに基づいて、COMサーバーのプロセスIDが何であるかを把握する方法はありますか?

ありがとう!

4

2 に答える 2

6

サーバーとクライアントの両方を制御する (コードを作成する) 場合は、COM インターフェイスにメソッドを追加して、サーバー側でプロセス/スレッド ID またはこの性質のもの (たとえば、リモートの場合はサーバーのホスト名) を返すことができます。私は@Hansを2番目に - サーバーの実装にアクセスできない限り、設計上運が悪いかもしれません。

于 2011-05-29T23:25:27.220 に答える