COM DLL の CLSID(クラスID)を調べる方法
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/VB_Controls/Q_21669421.html
クラスIDは DLL ファイル内に埋め込まれている。
一番最後のパートだけが左から右の順で、他はバイト順が逆になっている。
{079AA557 -4A18- 424A- 8EEE-E39F0A8D41B9} 57 a5 9a 07 18 4a 4a 42 8e ee e3 9f 0a 8d 41 B9
クラスIDを調べるVBプログラム:
Option Explicit Private Sub Form_Load() Dim t As TypeLibInfo Set t = TLI.TypeLibInfoFromFile("c:\plugin.dll") MsgBox t.Guid & vbCrLf & t.Name Dim s As SearchItem For Each s In t.GetTypes MsgBox t.Name & "." & s.Name Next End Sub
これをコンパイルする前に[参照設定]で TypeLib Information を追加すること。
メソッド・プロパティの引数などの情報も引き出せる。
TypeLibInfo のヘルプはここからダウンロードできる。
http://support.microsoft.com/?kbid=224331
ちなみに CLSID はレジストリの HKEY_CLASSES_ROOT\TypeLib\CLSID キーに登録されるらしい。
その他参考リンク
http://powersoft.ashisuto.co.jp/technicalservice/techdocument/onlinemannual/HTML/PowerBuilder/apptech/apptechp112.htm
http://www.wwlnk.com/boheme/delphi/tips/tec1540.htm
プロジェクトを構成するファイル
http://homepage1.nifty.com/rucio/main/technique/vbFiles.htm
VB DLL の「バージョンの互換性」とは?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1648268