自动化第三方应用程序-Systreeview32报告0个项目,但有节点

|| 我正在努力使几个应用程序自动化。一个取决于另一个的输出。 我遇到的问题是,当我尝试访问ѭ0以获得其他信息时,计数返回0。 如果我看清楚它,它会显示很多项目。 如果我使用Winspector进行查看,它将报告0个可见项目。 我如何收集此信息?这是从多个位置动态收集的信息。我无法访问数据库(这很好,但是由于某些信息是动态的,因此是不可能的)。 这是Winspector给我的输出:
Properties for window: 0x00021806   

Class Name:         SysTreeView32 

Rectangle:          213, 180, 1038, 375 

Size:               825, 195 

Client Rectangle:   0, 0, 821, 191 

Client Size:        821, 191 

Styles:             WS_CHILD,
                    WS_VISIBLE,
                    WS_CLIPSIBLINGS,
                    WS_CLIPCHILDREN,
                    WS_TABSTOP,

StylesEx:           WS_EX_NOPARENTNOTIFY,
                    WS_EX_CLIENTEDGE,
                    WS_EX_LEFT,
                    WS_EX_LTRREADING,
                    WS_EX_RIGHTSCROLLBAR

ID:                 0

Properties:         Atom: #43288 0xFFFFFFFF (-1)

Class specific:     Visible items:0, 
                    Total items: 0
                    Window is Ansi

Owner EXE           c:\\csg\\acsr\\XBOI.EXE
有什么想法可以检索节点信息和项目吗? 我正在使用带有sendmessage的API调用使用VBA(访问)。 这是我用来测试商品数量的代码:
Sub testtree(mytv As Long)

Dim z As Long

Dim wClass As String, wText As String

    Dim hWndTvw  As Long

    Dim hNode As Long

    Dim varReturn As Long

    Dim tvcount As Long

    Dim hchild As Long

    Dim j As Integer

    hchild = mytv

    wClass = Space(64)

    j = GetClassName(hchild, wClass, 63)

    wClass = Left(wClass, j)

    wText = Space(256)

    j = SendMessageS(hchild, WM_GETTEXT, 255, wText)

    wText = Left(wText, j)

    Debug.Print wText

z = SendMessage(mytv, TVM_GETCOUNT, 0&, 0&)

MsgBox z

End Sub
谢谢!     
已邀请:
        您应该考虑使用TVM_GETNEXTITEM消息来枚举该树的节点:首先使用TVGN_ROOT标志对其进行调用以获取根节点,然后使用TVGN_CHILD和TVGN_NEXT标志来遍历这些节点。此消息返回您的项目的句柄。 掌握了商品的句柄后,使用TVM_GETITEM消息检索您感兴趣的关联数据(例如,商品的文本)。 您应该仔细阅读该2个链接,以获取有关使用该消息的更多信息。 附言问题是,TVM_GETITEM消息使用带指针的TVITEM结构,并且我不确定从VBA可以很容易使用它(不同于C,C ++,甚至C#/ VB.NET都更适合IMO) )。在最坏的情况下(即除非您不了解VBA的知识,我上次与VBA打交道是在2004年左右),您将需要使用C ++ / ATL开发一个小型COM对象为此,请重新分配并与软件一起注册。或寻找第三方的组成部分。     

要回复问题请先登录注册