。
本帖最后由 lanfengc 于 2010-7-9 10:14 编辑回复 30# dnbj2010
MSGBOX那行应该使用我发的第二个源码。 否则任务栏出现一闪而过的窗口 另外,鼠标ID可能跟操作系统有关。 我windows2003下是1001F(H)=65567(D) 留名备查,谢谢。这货没有灌水。 其实我不会,但我还是要看看 非常不错,学习了 看高手过招,学习经验。 受教了!谢谢各位! 回复 16# woeiwoei
谢谢,这个帮助中就有,还是lynfr8的好,一直在GUI中框着浏览器对象,这才是我的效果. 回复 25# lanfengc
其实,如果AU3支持NewWindow2 或以上的话,就不用这么麻烦了..... VB使用WebBrowser控件能够完美解决这个问题,不知道au3要怎样才能使用WebBrowser控件?
下面是VB的测试程序
回复 39# 风行者
有源码吗? 本帖最后由 风行者 于 2010-7-17 10:40 编辑
最终还是想到修改源码来达到不弹出新窗口,至少还是比较完美的,不会出现闪屏#include <IE.au3>
_IEErrorHandlerRegister()
Global $oIE = _IECreateEmbedded()
$url = "http://www.google.com.hk"
GUICreate("test", 700, 600, (@DesktopWidth - 700) / 2, (@DesktopHeight - 600) / 2)
GUICtrlCreateObj($oIE, 0, 0, 700, 600)
_IENavigate($oIE, $url)
_replace()
GUISetState()
Do
$nurl = _IEPropertyGet($oIE, "locationurl")
If $nurl <> $url Then
_replace()
$url = $nurl
EndIf
Sleep(10)
Until GUIGetMsg() = -3
Func _replace()
Local $body, $string
_IELoadWait($oIE)
$body = _IEBodyReadHTML($oIE)
$string = StringRegExpReplace($body, '\btarget=_blank', 'target=_self')
$string = StringRegExpReplace($string, '\btarget="_blank"', 'target=_self')
_IEBodyWriteHTML($oIE, $string)
EndFunc ;==>_replace 打开凤凰网->资讯 打开新窗口。 回复 41# 风行者
修改源码来达到不弹出新窗口
----------------------------------------------------
这个....网页设计成_blank,_self还是有区别的。比如搜索时,会将搜到结果的链接弹成新页面,要是改成_self,参照搜索出的目录页太不方便了。 本帖最后由 ajian55 于 2010-8-15 13:01 编辑
将原网页中的 所有 target=_blank 替换成 target=“”再写回网页,我试过,觉得这个方法挺好~