主题:10f急!!!如何获得其他程序窗体上各种控件标题????
defly
[专家分:30] 发布于 2007-07-27 11:46:00
急!急!急!
如何获得其他程序窗体上各种控件标题?
请赐教! 谢了~~~~[em3]
回复列表 (共6个回复)
沙发
wealthy [专家分:1840] 发布于 2007-07-28 10:40:00
难
板凳
长尾兔 [专家分:3630] 发布于 2007-07-29 04:03:00
给你用EnumChildWindows回调写的,你试一下。不过,象TLabel这样的画到Form上的,估计取不到,另外也有一些也是取不到的......
function TryGetText(H: HWND; Master: LPARAM): boolean; stdcall;
var Buf: array[0..255] of char;
begin
SendMessage(H, WM_GetText, 256, LongInt(@Buf[0]));
TForm1(Master).Memo1.Lines.Add(StrPas(@Buf[0]));
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var hFrm: HWnd;
begin
hFrm := FindWindow('TForm1', 'TestForm');//TestForm是窗体的标题
if hFrm > 0 then
EnumChildWindows(hFrm, @TryGetText, LPARAM(Self))
else Showmessage('没找到窗口');
end;
3 楼
defly [专家分:30] 发布于 2007-07-31 18:59:00
问题,我自己解决了,方法跟你的一样。
呵呵, 不过,我还是感谢这个兄台的用心回贴!!!
4 楼
长尾兔 [专家分:3630] 发布于 2007-08-03 12:28:00
哇噻! 楼主你好棒哟! 怎么解决的啊? 把代码贴出来大家向你学习一下嘛
5 楼
长尾兔 [专家分:3630] 发布于 2007-08-03 12:28:00
还有, 关于分分....我还真不好意思向您要了呢....因为是您“自己”“解决”的....
6 楼
长尾兔 [专家分:3630] 发布于 2007-08-03 12:29:00
相似贴子还有:
http://www.programfan.com/club/post-244995.html
我来回复