OLEオートメーションサーバーの名前を知っている場合(HKEY_CLASSES_ROOTにあります)、サーバーが早期にサポートしていない場合でも使用可能なオブジェクト、バインディングはオブジェクトのブラウザで見つけることができません?OLEオートメーションサーバーのすべてのオブジェクトを一覧表示する
もしそうなら、これを行う方法をいくつかの行に記述してください(VBを好むが本当に問題ではない)?
OLEオートメーションサーバーの名前を知っている場合(HKEY_CLASSES_ROOTにあります)、サーバーが早期にサポートしていない場合でも使用可能なオブジェクト、バインディングはオブジェクトのブラウザで見つけることができません?OLEオートメーションサーバーのすべてのオブジェクトを一覧表示する
もしそうなら、これを行う方法をいくつかの行に記述してください(VBを好むが本当に問題ではない)?
サーバーにType Library (.TLB file)が関連付けられている場合は、これを実行できます。それ以外の場合、方法はありません。
へHKCR\CLSID\<your CLSID>\TypeLib
そして、タイプライブラリIDポイント:
それはここでレジストリキータイプライブラリのデフォルト値として存在する場合は、参照(それはまた、GUIDです)TLB IDを見つけることができます
HKCR\TypeLib\<tlb id>
下のキーでTLBパスを見つけることができます(アーキテクチャーによっては、x86またはx64で異なる場合があります)。
例えば、ここでは標準のADOの2.6(ActiveXデータオブジェクト)へのパスがあるライブラリを入力します。
あなたはTLBを持っていたら、あなたはそれを参照するCOMのAPIを使用することができます。それはC + +またはネイティブクライアントからOKですが、VB、VBScriptなどのオートメーションクライアントでは、このDLL "tlbinf32.dll"がありました。ここでは、それについて話すリンクです:Accessing Type Libraries from VB
これを明確にしていただきありがとうございます。オートメーションサーバーが存在する場合、開発者が(誰にでも)配布しないことに決めたというだけのTLBが常に存在すると私は正しく結論づけていますか? – vic
必ずしも厳密には必要ではないので、最低レベルのCOMはサーバーとクライアントが共有するVTableバイナリコントラクトですが、ほとんどの場合、ツール(MIDLなど)はそのようになります。 –