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 キーに登録されるらしい。