VB的EnumChildWindows如何改 VB.net?

o流浪的风o 2013-06-11 05:31:23
我尝试在VB.net中调用API EnumChildWindows 时出错,代码如下:

Public Class GetChildWindows
Dim tmpStr As String = ""
Private Declare Unicode Function EnumChildWindows Lib "user32" Alias "EnumChildWindows" _
(ByVal hWndParent As Long, _
ByVal lpEnumFunc As Long, _
ByVal lParam As Long) _
As Long
Public Function GetChildWins(ByVal pHwnd As Long, ByRef str As String) As Long
EnumChildWindows(pHwnd, AddressOf EnumChildPro, 0)'提示 AddressOf EnumChildPro 不是委托类型
str = tmpStr
Return 0
End Function
Private Function EnumChildPro(ByVal nHwnd As Long, ByVal lParam As Long) As Long
tmpStr = tmpStr & "|" & nHwnd
Return True
End Function
End Class
请教该如何修改?
...全文
276 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-06-12
  • 打赏
  • 举报
回复
Long全部修改成Integer。 定义一个委托,EnumWindowsDelegate(Byval hwnd As Integer, Byval lParam as Integer) As Interger,然后ByVal lpEnumFunc As EnumWindowsDelegate
o流浪的风o 2013-06-12
  • 打赏
  • 举报
回复
谢谢caozhy版主!

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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