Win32 API:FindWindowEx
EnumChildWindows
....
EnumChildWindows
....
解决方案 »
- MD,火大了,散点分,心情好点 然后继续写代码
- 看看大家的电脑都用了多长时间,兼散分
- 100分求助,delphi运行出错Access violation at address 05C3D4ED in module 'BORDBK70.dll'. Read of address 00000000
- 怎么判断输入给 edit 框的内容是不是日期型的。
- 关于换行的问题。
- 学习Delphi不久,现在正处在迷茫状态,请各位高手帮帮我!
- 字符串转换显示为 1.0001E-7 问题
- 请教如何实现cxDateEdit控件只能通过下拉框选择日期,无法再编辑框输入日期
- 如何发布C/S这样的程序?
- mm求各位大虾救命
- 关于Edit
- 对web的发布与测试???
var str,url:array [0..254] of char;
begin
getclassname(h,@str,255);
if strpas(@str)='ComboBoxEx32' then//在窗口上找某个控件如果不指定可枚举所有控件
begin
SendMessage(h,WM_GETTEXT,255,LongInt(@url));
fmMain.ListBox1.Items.Add(strpas(@url));
end;
result:=true;
end;function callbackproc(H:HWnd;lparam:longint):Boolean;stdcall;
var str:array [1..255] of char;
begin
getclassname(h,@str,255);
if ((strpas(@str)='CabinetWClass') or (strpas(@str)='IEFrame')) then //设置你要得到什么样的窗口句柄
begin
Enumchildwindows(h,@GetURL,0);
end;
result:=true;
end;procedure TfmMain.Button3Click(Sender: TObject);
begin
listbox1.Clear;
Enumwindows(@callbackproc,0);
end;
var
C: array [0..255] of Char;
Memo: TMemo;
begin
Memo := TMemo(Param);
FillChar(C, SizeOf(C), 0);
if GetClassName(hwnd, C, SizeOf(C)) > 0 then
begin
Memo.Lines.Add(Format('Child Handle: %d, classname: %s', [hwnd, C]));
FillChar(C, SizeOf(C), 0);
if (GetWindowText(hwnd, C, SizeOf(C)) > 0) and (StrLen(C) > 0) then
Memo.Lines.Add('it''s text is :' + C);
end;
Result := True;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
//Handle给自已,你可以FindWindow找,或用EnumWindows的方法,像这种一样找出其它窗体。
EnumChildWindows(Handle, @EnumChild, Integer(Memo1));
end;