1

起動時にすべてのCOM登録を実行するWin32実行可能ファイル(C ++)を作成して、そのオブジェクトにCOM経由でクライアントアプリにアクセスできるようにしたいと考えています。実行可能ファイルが終了すると、COMへの登録を解除する必要があります。このようなことは可能ですか?もしそうなら、どのような手順が必要ですか?私はこれに対する答えを実際に見つけることなく、午後中ずっと熱狂的にグーグルしてきました。ほとんどのソリューションでは、事前登録が必要です(たとえば、/ registerスイッチを使用)。ありがとう

4

2 に答える 2

1

CoRegisterClassObjectとCoRevokeClassObjectがあなたが探している関数だと思います。詳細については、こちらをご覧ください。

于 2012-11-29T16:50:19.080 に答える
0

インプロセスまたはアウトプロセスに関係なく、COMサーバーの登録に魔法はありません。登録とは、レジストリへの書き込みを意味します。登録解除とは、レジストリキーを削除することを意味します。

通常のEXECOMサーバーは、コマンドライン引数を読み取ってインストール/アンインストール要求を処理し、個別のサブルーチンまたは実行パスを提供しますが、すべての実行にインストール/アンインストールプロセスを自由に含めることができます。

WinMain()
{
  Install()
  CoRegisterClassObject();
  .. Message Loop ..
  CoRevoveClassOBject();
  Uninstall();
}
于 2012-11-29T17:36:12.103 に答える