0

C# で登録済みの COM サーバーのパスをプログラムで取得する良い方法はありますか?

C# プロジェクトで参照するプロセス外 COM サーバー (つまり、exe ファイル) があります。ただし、特定の場所から COM サーバーを実行することを強制したいので、開始する前に登録済みの exe ファイルのパスを確認したいと考えています。レジストリに飛び込む以外に、これを行う良い方法はありますか?

4

1 に答える 1

0

関数QueryPathOfRegTypeLibはまさにそれを行います。

ただし、奇妙な癖に気付きました。

ユーザーごとに 1 つのパスから最初に登録した場合:

c:\Path1\comserver.exe /regserverperuser

次に、システム レベル ベースで別のパスから登録します。

c:\Path2\comserver.exe /regserver

次に、QueryPathOfRegTypeLib は c:\Path1\comserver.exe を返しますが、実際には、タイプ ライブラリをロードしたときに開始されるのは c:\Path2\comserver.exe です...

于 2016-07-25T12:39:22.027 に答える