Dim hwnd_1
hwnd_1 =Window("Notepad").WinEditor("Edit").GetROProperty("hwnd")
msgbox hwnd_1
Dim MyContent
tag = extern.SendMessageA (hwnd_1,&H0189,2,1 )
msgbox tag
我用这样得到的tag是非0的值。不明白你想发什么消息过去,可否详细讲讲你最终干了什么,最好用calc.exe或者notepad.exe来解释,那样大家比较容易交流,谢谢了。作者: mythxhg 时间: 2007-12-6 13:22
不是拿TAG值,,&H0189的宏定义是LB_GETTEXT,我们将变量MYCONTENT的地址传递过去给API,API发送消息到指定句柄后将LISTBOX上指定的TEXT值存到接收到的地址所指的内存里,然后我们就可以直接使用MYCONTENT来访问到所拿到的TEXT了.
例:
Dim s As String * 800
T = GetWindowText(2556516, S, 800)
以上代码在Vb中可以正常运行.
但换到QTP后
Dim s As String * 800 这行变为非法.
就会导致
T = GetWindowText(2556516, S, 800)
S无法取得返回值,但该函数正常运行.