回 帖 发 新 帖 刷新版面

主题:10f急!!!如何获得其他程序窗体上各种控件标题????

急!急!急!
如何获得其他程序窗体上各种控件标题?
请赐教! 谢了~~~~[em3]

回复列表 (共6个回复)

沙发

板凳

给你用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 楼

问题,我自己解决了,方法跟你的一样。
呵呵, 不过,我还是感谢这个兄台的用心回贴!!!

4 楼

哇噻! 楼主你好棒哟! 怎么解决的啊? 把代码贴出来大家向你学习一下嘛

5 楼

还有, 关于分分....我还真不好意思向您要了呢....因为是您“自己”“解决”的....

6 楼

相似贴子还有:

http://www.programfan.com/club/post-244995.html

我来回复

您尚未登录,请登录后再回复。点此登录或注册