关于调用winapi获取组件信息,急! (api)

techmaster 2004-11-12 03:53:01
我要在vb中调用windows api来导出指定的组件信息,我已经可以在vc下通过类型库来完成,调用规则大概是这样
1、通过LoadTypeLib获得ITypeLib接口
2、通过ITypeLib->GetDocumentation获取组件接口信息和接口中包含的函数信息

可我在vb中声明了函数后,不知道怎样才能够完成这些调用,比如如何声明ITypeLib接口,如何让vb知道他支持的函数。
希望能够得到详细的答案。分数好商量。
...全文
149 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
techmaster 2004-11-12
  • 打赏
  • 举报
回复
谁能告诉我,描述引用库中的函数在哪里?
lxcc 2004-11-12
  • 打赏
  • 举报
回复
'引用Typelib infomation,若在属性框找不到,则到C:\winnt\system32找到Tlbinf32.dll
Option Explicit

Private Sub Form_Load()
Dim oTLB As InterfaceInfo

Dim i As Integer
Dim j As Long
Dim k As Long
Dim sStr As String
Dim Target As Object

Dim Item As ListItem

Set Target = ListView1

ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add , , "EventName"
ListView1.ColumnHeaders.Add , , "Parameters"
ListView1.ListItems.Clear

Set oTLB = TLI.InterfaceInfoFromObject(Target)
'这一小段可以取到第三方控件的事件,但取不到VB内置的控件的事件
For i = 2 To TLI.ClassInfoFromObject(Target).Interfaces.Count
For j = 1 To TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Count
Set Item = ListView1.ListItems.Add(, , TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).Name)
sStr = ""
For k = 1 To TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).Parameters.Count
sStr = sStr & IIf(sStr = "", "", ",") & TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).Parameters.Item(k).Name
Next k
Item.SubItems(1) = sStr
' Item.SubItems(2) = TLI.ClassInfoFromObject(Target).Interfaces.Item(i).Members.Item(j).ReturnType
Next j
Next i

End Sub
techmaster 2004-11-12
  • 打赏
  • 举报
回复
hedane(有球必应)

我找到并添加了你说的库,但没有找到相关文档,怎么用呀?
二师兄的老公 2004-11-12
  • 打赏
  • 举报
回复
在VB中可引用组件库[TypeLib Information]来实现。
viena 2004-11-12
  • 打赏
  • 举报
回复
up

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧