gpt4 book ai didi

delphi - 如何获取具有相同类名的不同控件的句柄?

转载 作者:行者123 更新时间:2023-12-03 15:42:20 25 4
gpt4 key购买 nike

我正在尝试使用delphi编程访问第三方应用程序的“文本框”,因此我需要使用FindWindowEx(...)函数查找每个“文本框”的句柄。

问题是,由于所有文本框都具有相同的类名,并且“无窗口名称”,因此该函数只能给我第一个 TextBOx 句柄!

如何获取其余没有名称的文本框句柄?

提前致谢。

最佳答案

您可以使用EnumChildWindows枚举第三方应用程序窗口的所有子窗口,并测试每个枚举窗口的类名,看看它是否是“Text Box”类。示例:

function EnumChildren(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;
const
TextBoxClass = 'EDIT'; (?)
var
ClassName: array[0..259] of Char;
begin
Result := True;
GetClassName(hwnd, ClassName, Length(ClassName));
if ClassName = TextBoxClass then
TStrings(lParam).Add(IntToHex(hwnd, 8));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
EnumChildWindows(OtherAppWnd, @EnumChildren, UINT_PTR(Memo1.Lines));
end;

关于delphi - 如何获取具有相同类名的不同控件的句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10655133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com