如何取得其它应用程序窗口上的组件的标题?(100分)

  • 主题发起人 主题发起人 huangxw2003
  • 开始时间 开始时间
H

huangxw2003

Unregistered / Unconfirmed
GUEST, unregistred user!
如何取得其它应用程序窗口上的组件的标题?在WINXP下正常,在WIN2000下能取得输入框的内容,但无法取得 按钮 的标题?
var
p:Tpoint;
h:integer;
str: Array[0..1024] of Char;
begin
getcursorpos(p); //得到当前光标的位置
h:=windowfrompoint(p); //当到光标处窗口的句柄

// 方法1
GetWindowText(h, str, 1024); // 取当前光标处组件的标题

// 方法2
sendmessage(h,WM_GETTEXT,1024,longint(str));
end;
 
这样写,当控件被disable时就不行了,必须递归查找子窗体。
 
此控件并未被Disable,我的问题主要是
知道应用程序窗口上一个组件的窗口Handle,暂时假设组件未被禁止,如何取得其标题(尤其是按钮),在WINXP下正常,WIN2000下无法取得。测试程序可以以WIN2000下的计算器为测试对象,我始终无法取得计算器按钮的标题。
 
2000的计算器好像是自己写上的标题,xp的是使用类似caption的属性赋上的值,你把xp的计算器考到2000下试试,应该就行了。
 
有句柄的才可以
 
kgm,研究很深啊,谢谢。有什么好方法可以取得自己写上的标题吗?
 
后退
顶部