Hes*_*esi 3 delphi delphi-xe delphi-xe2
我正在尝试使用delphi编程访问第三方应用程序的"文本框",所以我需要使用FindWindowEx(...)函数找到每个"文本框"的句柄.
问题是,因为所有文本框都有相同的类名,"NO window name",这个函数可以给我第一个TextBOx句柄!
如何在没有名字的情况下获取其余的文本框句柄?
提前致谢.
您可以使用EnumChildWindows
枚举第三方应用程序窗口的所有子窗口并测试每个枚举窗口的类名称,以查看它是否是"文本框"类.例:
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;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6682 次 |
最近记录: |