易语言-如何获取网页文档对象
2012-08-07 17:47阅读:
在易语言中,取得网页文档对象有很多方法。
各种控件的取得方法:
WebBrowser: 对象 = WebBrowser1.GetDocument ()
互联网浏览器: 互联网浏览器1.取网页文档对象
(对象)
彗星网页框: 彗星网页框1.取网页文档对象
(对象)
超文本浏览框:
IES句柄 = 取网页句柄
(超文本浏览框1.取窗口句柄
()) '
取得Internet Explorer_Server的句柄
对象 = 取网页对象
(IES句柄) ' 取得网页文档document对象
外部窗口:
对象 = 取网页对象
(外部IES句柄)
超文本浏览框和外部窗口获取方式的子程序:
.子程序
取网页对象,对象
.参数
网页句柄,
整数型
.局部变量
资源编号,
整数型
.局部变量
消息值,
整数型
.局部变量
对象,
对象
.局部变量
类名,
文本型
类名 =
取空白文本
(
256)
GetClassName
(网页句柄, 类名,
256)
.如果真 (类名 ≠
“Internet
Explorer_Server”)
返回 (对象)
.如果真结束
消息值 =
RegisterWindowMessage
(
“WM_HTML_GETOBJECT”)
SendMessageTimeout
(网页句柄, 消息值,
0,
0,
2,
1000, 资源编号)
ObjectFromLresult
(资源编号, {
32,
197,
111,
98,
30,
164,
207,
17,
167,
49,
0,
160,
201,
8,
38,
55 },
0, 对象)
返回 (对象)
.子程序
取网页句柄,整数型
.参数
浏览框句柄,整数型
.局部变量
hwnd,整数型
.局部变量
类名,文本型
.局部变量
次数,整数型, ,
,防止死循环
hwnd = 浏览框句柄
.判断循环首 (类名 ≠
“Internet
Explorer_Server”)
hwnd = GetWindow
(hwnd, #GW_CHILD)
类名 = 取空白文本
(256)
GetClassName
(hwnd, 类名, 256)
次数 = 次数 + 1
.如果真 (次数 >
10)
返回 (-1)
.如果真结束
.判断循环尾 ()
返回
(hwnd)
.DLL命令
ObjectFromLresult,
整数型,
'OLEACC.DLL'
.参数
lResult,
整数型
.参数
riid,
字节集
.参数
wParam,
整数型
.参数
ppvObject,
对象
.DLL命令
RegisterWindowMessage,整数型, ,'RegisterWindowMessageA', ,获取分配给一个字串标识符的消息编号 & C000 到 &
FFFF之间的一个消息编号。零意味着出错
.参数
lpString,文本型, ,注册消息的名字;
.DLL命令
SendMessageTimeout,整数型, ,'SendMessageTimeoutA'
.参数
MSG,整数型
.参数
hwnd,整数型
.参数
wParam,整数型
.参数
lParam,整数型
.参数
fuFlags,整数型
.参数
uTimeout,整数型
.参数
lpdwResult,整数型,传址
.DLL命令 GetWindow,整数型, ,'GetWindow',
,获得一个窗口的句柄,该窗口与某源窗口有特定的关系
.参数
源窗口,整数型
.参数
关系,整数型
.DLL命令
GetClassName,整数型,'user32.dll','GetClassNameA'
.参数
句柄,整数型
.参数
类名,文本型
.参数
文本长度,整数型
取外部IES句柄的方法:下载
呵呵小助手,窗口SPY探测到网页的IES,用“生成代码”生成查找的代码。