用Browser("hwnd:="& ieHwnd).Close关闭浏览器时 出错。
如 附件所示, 用 dom 打开IE浏览器,用object.HWND 来获取打开的IE浏览器的 hwnd 的值但是 在最后一行代码中执行错误 提示如附件所示 求解答Set oie = CreateObject("InternetExplorer.Application")
oie.Visible= True
oie.Navigate"www.baidu.com"
ieHwnd=oie.HWND
Browser("hwnd:="& ieHwnd).Close 求解答~ 在线等奥 oie.HWND <> browser().getRoProperty("HWND")
通过Browser("hwnd:="& oie.HWND) 是找不到对象的 回复 3# xjwldlover
可是我看书上是这么写的奥 , 我都是照敲下来的也不行55555 回复 4# zhangkun90
经过无数前辈的实践证明,这地方有些问题,原因还不知道 回复 5# xjwldlover
啊 这样啊我知道咧书上写错了呗 是吧 用getRoProperty(“hwnd”) 这个取得的 值 是可以的 那妥妥的谢谢咯 回复 1# zhangkun90
这里的确是书上写错了:使用Spy发现句柄与ieHwnd并不一样,所以最后一句执行的时候,的确找不到对象的。
还有271页上,oWebEdit("name") = "TestID.*"
应该写成 oWebEdit("name").value = "TestID.*"还有几个小地方也有点小问题。
LZ自行研究啦~ 回复 7# 黑羽祭
谢谢啦 , 作者没有写错,可能是未特意说明测试环境,他用的是IE6。
Set oie = CreateObject("InternetExplorer.Application")
oie.Visible= True
oie.Navigate"www.baidu.com"
'Browser("hwnd:="&oie.hwnd).close
'wait 10
print Browser(":=").GetROProperty("hwnd")&"/"&oie.hwnd
print "==================="
Set oObject = Description.Create()
Set oObjList = Desktop.ChildObjects(oObject)
For i = 0 to oObjList.count()-1
print oObjList(i).getRoProperty("hwnd")&"/"&oObjList(i).getRoProperty("nativeclass")&"/"&oObjList(i).getRoProperty("micclass")
print "==================="
Next
这段代码在我手头上有的2个浏览器版本IE6和IE8上运行的结果是不同的。
IE6上运行的结果:
459122/459122
===================
196664/Shell_TrayWnd/Window
===================
459278/WorkerW/WinObject
===================
524654/ReBarWindow32/WinObject
===================
1705224/ToolbarWindow32/WinToolbar
===================
655702/ComboBoxEx32/WinObject
===================
786920/ToolbarWindow32/WinToolbar
===================
459124/ComboBox/WinComboBox
===================
721520/Edit/WinEdit
===================
393736/ToolbarWindow32/WinToolbar
===================
459258/WorkerW/WinObject
===================
459284/ToolbarWindow32/WinToolbar
===================
1180892/msctls_statusbar32/WinStatusBar
===================
1836328/msctls_progress32/WinObject
===================
1901882/Shell DocObject View/WinObject
===================
459122/IEFrame/Browser
===================
328826/Mercury::Qtprn::PrintWindow/Window
===================
328588/Afx:00400000:8:00010003:00000000:002A03A3/Window
===================
65652/Progman/Window
===================
IE8上运行的结果:
67734/198488
===================
196672/Shell_TrayWnd/Window
===================
263242/TXGuiFoundation/Window
===================
133184/BrowserFrameGripperClass/WinObject
===================
198656/WorkerW/WinObject
===================
133122/ReBarWindow32/WinObject
===================
133230/TravelBand/WinObject
===================
133226/ToolbarWindow32/WinToolbar
===================
133228/Address Band Root/WinObject
===================
133220/AddressDisplay Control/WinObject
===================
133218/Edit/WinEdit
===================
133222/ToolbarWindow32/WinToolbar
===================
133224/ToolbarWindow32/WinToolbar
===================
133210/UniversalSearchBand/WinObject
===================
133212/Search Control/WinObject
===================
133208/Edit/WinEdit
===================
133204/ToolbarWindow32/WinToolbar
===================
133200/ToolbarWindow32/WinToolbar
===================
67696/CommandBarClass/WinObject
===================
67698/ReBarWindow32/WinObject
===================
67718/CommandToolbarBand/WinObject
===================
67720/ToolbarWindow32/WinToolbar
===================
67714/TabBandClass/WinObject
===================
67716/DirectUIHWND/WinObject
===================
67710/FavBandClass/WinObject
===================
67712/ToolbarWindow32/WinToolbar
===================
67700/LinksBandClass/WinObject
===================
67708/ToolbarWindow32/WinToolbar
===================
67704/ToolbarWindow32/WinToolbar
===================
67730/Frame Tab/WinObject
===================
67740/InternetToolbarHost/WinObject
===================
67742/WorkerW/WinObject
===================
67744/ReBarWindow32/WinObject
===================
67748/ToolbarWindow32/WinToolbar
===================
67734/TabWindowClass/Browser
===================
67752/msctls_statusbar32/WinStatusBar
===================
67776/ToolbarWindow32/WinToolbar
===================
67774/ToolbarWindow32/WinToolbar
===================
67772/Shell DocObject View/WinObject
===================
67786/Internet Explorer_Server/Page
===================
198488/IEFrame/Window
===================
198878/Mercury::Qtprn::PrintWindow/Window
===================
459956/Afx:00400000:8:00010003:00000000:000205BD/Window
===================
853206/rctrl_renwnd32/Window
===================
262948/Chrome_WidgetWin_1/Window
===================
197240/#32770/Dialog
===================
65660/Progman/Window
===================
看到差别没有?IE6上Browser(":=").GetROProperty("hwnd")和oie.hwnd的结果相同,但IE8上两者不同,原因是IE8是多标签的浏览器,Browser(":=")对象的hwnd,nativeclass和micclass分别是67734/TabWindowClass/Browser,而oie对象的hwnd,nativeclass和micclass分别是198488/IEFrame/Window,Browser(":=")只是ioe内部的一个tab。 回复 9# 泰然
这样啊天呢,,,, 佩服奥学习了 谢谢哈 学习了 学习了~ 回复 10# zhangkun90
好文,分析透彻必须顶!!! 回复 9# 泰然
学习了!!谢谢分析!! 用getToProperty(“hwnd”)获取到值为什么是空 今天也看到这一章了。学习了。
页:
[1]