枚举当前所有的 IE 窗口 - 回复 "混岗" 的问题
2008-07-07 23:16
387 查看
问题来源: http://www.cnblogs.com/del/archive/2008/02/28/1085432.html#1247615
致 "混岗" 同学: 你同时提到 IE 中的 "输入框", 没有明白你的意思; 这个例子只是找顶层窗口, IE 的 "输入框" 是 IE 窗口的子窗口, 需要在此基础上继续枚举子窗口.
本例效果图(测试时, 我打开了: 搜狐、谷歌和我的博客):
代码文件:
窗体文件:
致 "混岗" 同学: 你同时提到 IE 中的 "输入框", 没有明白你的意思; 这个例子只是找顶层窗口, IE 的 "输入框" 是 IE 窗口的子窗口, 需要在此基础上继续枚举子窗口.
本例效果图(测试时, 我打开了: 搜狐、谷歌和我的博客):
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Align := alTop; Memo1.ScrollBars := ssBoth; Memo1.Clear; end; procedure TForm1.Button1Click(Sender: TObject); const className = 'IEFrame'; {这是 IE 浏览器的类名} var h: HWnd; buf: array[Byte] of Char; begin h := GetWindow(Handle, GW_HWNDFIRST); while h <> 0 do begin GetClassName(h, buf, Length(buf)); if buf = className then {找到咋处理? 显示它的标题吧} begin GetWindowText(h, buf, Length(buf)); Memo1.Lines.Add(buf) end; h := GetWindow(h, GW_HWNDNEXT); end; end; end.
窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 168 ClientWidth = 319 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Button1: TButton Left = 126 Top = 127 Width = 75 Height = 25 Caption = 'Button1' TabOrder = 0 OnClick = Button1Click end object Memo1: TMemo Left = 8 Top = 8 Width = 185 Height = 113 Lines.Strings = ( 'Memo1') TabOrder = 1 end end
相关文章推荐
- 枚举当前打开的所有窗口
- 枚举所有IE窗口,实现自动登录
- 获取一个窗口的所有子窗口(包括嵌套) - 回复 "asian" 的问题
- 枚举当前环境中打开的所有IE
- 枚举所有IE窗口,实现自动登录
- c# 枚举windows当前的所有窗口及子窗口
- 枚举所有IE窗口,实现自动登录
- 枚举所有IE窗口,实现自动登录
- 枚举当前打开的所有窗口
- 枚举当前所有窗口
- 枚举当前打开的所有窗口
- 枚举当前所有窗口
- 枚举当前打开的所有窗口
- 枚举当前环境中打开的所有IE
- 枚举当前环境中打开的所有IE
- VC++MFC 枚举当前打开的所有窗口
- 如何使用系统级热键捕捉当前窗口保存为 png 图片 - 回复 "巅枫" 的问题
- EnumThreadWindows枚举线程的所有窗口
- easyui实现关闭当前窗口,所有窗口,其他窗口
- 如何获取WM当前窗口下的所有控件?