0

私は Delphi アプリケーションに取り組んでいます。このアプリケーションは、直接、デスクトップ アプリケーションとして、アプリケーションを実行することによって (たとえば、エクスプローラーで実行可能ファイルをクリックすることによって)、または - アウト プロセス サーバーとして、いずれかを作成することによって間接的に開始することができます。アプリケーションに実装 (および登録) された COM オブジェクト

アプリケーションがアウト プロセス COM サーバーまたはデスクトップ アプリケーションとして開始されたかどうかを検出する方法はありますか?

4

1 に答える 1

0

COM オブジェクトが登録されると、そのオブジェクトのコマンド ライン パラメータ ( など) を含めることができ/automation、プロセスの開始時にそれらのパラメータを探すことができます。

ただし、これはアウト プロセス サーバーであるため、対処できない問題があります。サーバーが最初にアプリとして実行され、アプリがまだ実行されている間に COM オブジェクトが作成されたとします。COM オブジェクトは、COM プロセスとして開始されていない既存のプロセスから取得されるだけなので、COM コマンドライン パラメータは存在しません。プロセスの開始タイプに基づいて、実行しようとしていることに影響する場合としない場合があります。

于 2014-07-18T20:25:51.320 に答える