.NET アプリケーションが相互運用機能を介して呼び出している COM dll について、「About」スタイルのダイアログを表示する必要があります。現在読み込まれているアセンブリで GetFileVersionInfo を使用するためのソリューションと、pInvoke スタイルの GetModuleHandle を呼び出してクエリを実行するためのソリューションを見てきました。しかし、私は相互運用機能を使用しているため、ロードされたモジュールのリストには直接表示されず、相互運用機能の dll だけが表示されます。
FileVersionInfo(filename) を使用して dll へのフル パスを取得すると、必要なものを正確に取得できます。ただし、ユーザーはこの COM dll をインストールする場所を制御できるため、レジストリにクエリを実行してこれを完全に取得することしか考えられません。道。誰でもより良い解決策を見ることができますか? この製品の以前のバージョンはネイティブ アプリケーションであったため、dll を直接ロードしていました。
何かアイデアはありますか、それともレジストリにクエリを実行するのが最良の選択ですか?