VBReader.frm
上传用户:bjlvip
上传日期:2010-02-08
资源大小:744k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    AutoRedraw      =   -1  'True
  4.    Caption         =   "Form1"
  5.    ClientHeight    =   5340
  6.    ClientLeft      =   48
  7.    ClientTop       =   336
  8.    ClientWidth     =   8424
  9.    LinkTopic       =   "Form1"
  10.    ScaleHeight     =   5340
  11.    ScaleWidth      =   8424
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.CommandButton Command1 
  14.       Caption         =   "Command1"
  15.       Height          =   372
  16.       Left            =   6240
  17.       TabIndex        =   0
  18.       Top             =   120
  19.       Width           =   972
  20.    End
  21. End
  22. Attribute VB_Name = "Form1"
  23. Attribute VB_GlobalNameSpace = False
  24. Attribute VB_Creatable = False
  25. Attribute VB_PredeclaredId = True
  26. Attribute VB_Exposed = False
  27. Private Sub Command1_Click()
  28. Dim refTypeLibInfo As TLI.TypeLibInfo
  29. ' Load the type library from the registry based on the LIBID
  30. Set refTypeLibInfo = TLI.TLIApplication.TypeLibInfoFromRegistry("{10000003-0000-0000-0000-000000000001}", 1, 0, 0)
  31. Dim refCoClassInfo As TLI.CoClassInfo
  32. For Each refCoClassInfo In refTypeLibInfo.CoClasses
  33.     ' Print the coclass name
  34.     Print "Coclass: " & refCoClassInfo.Name
  35.     
  36.     ' Display info about all interfaces implemented by the coclass
  37.     PrintInterfaces refCoClassInfo.Interfaces
  38. Next
  39. End Sub
  40. Sub PrintInterfaces(refInterfaces As TLI.Interfaces)
  41. Dim refInterfaceInfo As TLI.InterfaceInfo
  42. For Each refInterfaceInfo In refInterfaces
  43.     ' Print interface name
  44.     Print "Interface: " & refInterfaceInfo.Name;
  45.     
  46.     ' Print interface IID
  47.     Print " " & refInterfaceInfo.Guid
  48.     Dim refMemberInfo As TLI.MemberInfo
  49.     For Each refMemberInfo In refInterfaceInfo.Members
  50.     
  51.         ' Print the return type
  52.         Select Case refMemberInfo.ReturnType
  53.         Case TliVarType.VT_HRESULT
  54.             Print vbTab & "HRESULT ";
  55.         Case TliVarType.VT_INT
  56.             Print vbTab & "int ";
  57.         Case TliVarType.VT_UI4
  58.             Print vbTab & "ULONG ";
  59.         End Select
  60.         
  61.         ' Print method name
  62.         Print refMemberInfo.Name & "(";
  63.         
  64.         Dim refParameterInfo As TLI.ParameterInfo
  65.         For Each refParameterInfo In refMemberInfo.Parameters
  66.         
  67.             ' Print parameter direction
  68.             Select Case refParameterInfo.Flags
  69.                 Case ParamFlags.PARAMFLAG_FIN
  70.                     Print "[in] ";
  71.                 Case ParamFlags.PARAMFLAG_FOUT
  72.                     Print "[out] ";
  73.                 Case ParamFlags.PARAMFLAG_FRETVAL
  74.                     Print "[retval] ";
  75.                 End Select
  76.                 
  77.             ' Print parameter type
  78.             Select Case refParameterInfo.VarTypeInfo.VarType
  79.                 Case TliVarType.VT_INT
  80.                     Print "int ";
  81.                 Case TliVarType.VT_VOID
  82.                     Print "void ";
  83.             End Select
  84.             
  85.             ' Print parameter name
  86.             Print refParameterInfo.Name & ", ";
  87.         Next
  88.         Print ")"
  89.     Next
  90.     
  91.     ' Recursive calls to print all base interfaces including IUnknown
  92.     PrintInterfaces refInterfaceInfo.ImpliedInterfaces
  93. Next
  94. End Sub