知道一个空体的句柄,如何得到它上面按钮或是其它控件的句柄?(0分)

  • 主题发起人 主题发起人 dtboyi
  • 开始时间 开始时间
D

dtboyi

Unregistered / Unconfirmed
GUEST, unregistred user!
知道一个空体的句柄,如何得到它上面按钮或是其它控件的句柄?
 
//枚举
Function EnumChildWindowProc(Handle:HWND; UserDate:DWORD):BOOL; stdcall;
var WinName:Array[0..256] of char;
WinClassName:Array[0..256] of char;
begin
ResUlt := FALSE;
if Handle <> 0 then
begin
GetWindowText(Handle,WinName,sizeof(WinName));
GetClassName(Handle,WinClassName,sizeof(WinClassName));
Form1.Memo1.Lines.Add(Format('Handle: %08X - WinName: %s - WinClassName: %s',[Handle,WinName,WinClassName]));
ResUlt := TRUE;
end;
end;

begin
EnumChildWindows(Handle,@EnumChildWindowProc,0);
end;
 
可以直接用FindWindowEx这个函数更方便具体代码我就不写了
设一个数组获取句柄初始hwnd[0]=0
循环使用hwnd=FindWindEx(你得到的空体句柄,hwnd[i-1],类名(直接设为NULL),标题名(直接设为NULL))
当hwnd为0时退出循环就可以了你要得句柄就是hwnd[1..i]
 
后退
顶部