如何得到其他应用程序中一个ListBox句柄,并读取他的值。

时间:2022-04-05 14:41:30
我现在可以得到这个ListBox的句柄,如果是Edit直接发送WM_GETTEXT消息可以取得中文值。
ListBox取不到,望高手指教,在线等待,解决立刻结贴。

15 个解决方案

#1


应该使用LB_GETTEXT消息吧

#2


没有搞过,研究一下

#3


搞定了,看看还碰到什么问题再问问:)

#4


取得其窗体句柄,转换成CListBox指针,然后直接调用它的方法。
恭喜楼主。

#5


就是楼上说的,呵呵,刚开始老想用发消取,老有问题

#6


^_^,但Edit直接GetWindowText等就不能取得的

#7


iLengyh = SengMessage(hwndList,LB_GETTEXT,iIndex,(LPARAM)szBuffer);

#8


如果这个ListBox是在一个tab控件里面有区别吗?

#9


要用GetItemData指定行的数据

#10


首远用findwindow找到窗口句柄,然后用

SengMessage(hwndList,LB_GETTEXT,iIndex,(LPARAM)szBuffer);

#11


该应用窗口没有任何窗口标题,而且一个窗口内有n个ListBox,用spy不能找到该窗口的名字和类名。
只能用遍历子窗口来做了。

#12


嗯,只能遍历了

#13


在tab控件里面的ListBox父窗口是不是tab控件呢?

#14


新问题
现在用spy++发现目标应用程序是用delphi做的,其中的子控件类名也是TListBox,如何用vc写的程序
去取得delphi做的程序中TListBox控件的值呢?

#15


试试这样行不行:
 CListBox lb;
 lb.m_hWnd;

#1


应该使用LB_GETTEXT消息吧

#2


没有搞过,研究一下

#3


搞定了,看看还碰到什么问题再问问:)

#4


取得其窗体句柄,转换成CListBox指针,然后直接调用它的方法。
恭喜楼主。

#5


就是楼上说的,呵呵,刚开始老想用发消取,老有问题

#6


^_^,但Edit直接GetWindowText等就不能取得的

#7


iLengyh = SengMessage(hwndList,LB_GETTEXT,iIndex,(LPARAM)szBuffer);

#8


如果这个ListBox是在一个tab控件里面有区别吗?

#9


要用GetItemData指定行的数据

#10


首远用findwindow找到窗口句柄,然后用

SengMessage(hwndList,LB_GETTEXT,iIndex,(LPARAM)szBuffer);

#11


该应用窗口没有任何窗口标题,而且一个窗口内有n个ListBox,用spy不能找到该窗口的名字和类名。
只能用遍历子窗口来做了。

#12


嗯,只能遍历了

#13


在tab控件里面的ListBox父窗口是不是tab控件呢?

#14


新问题
现在用spy++发现目标应用程序是用delphi做的,其中的子控件类名也是TListBox,如何用vc写的程序
去取得delphi做的程序中TListBox控件的值呢?

#15


试试这样行不行:
 CListBox lb;
 lb.m_hWnd;