kn007 发表于 2009-9-10 09:42:43

内嵌swf问题

本人想内嵌个gui专门把 http://www.weather.com.cn/html/weather/101281901.shtml 中的
揭阳天气实况给嵌进去,试了好几下,老失败


或者这贴的源码要怎么改才能有这个
http://www.autoitx.com/forum.php?mod=viewthread&tid=6178&page=1&fromuid=7644076#pid41524

afan 发表于 2009-9-10 10:14:31

那个网站不是swf,只是些gif背景~ 可能内嵌网页局部就可以了吧,没弄过~

kn007 发表于 2009-9-10 12:22:36

SWF地址:
http://flash.weather.com.cn/sk2/shikuang.swf?id=
上海=101020100
北京=101010100
如:http://flash.weather.com.cn/sk2/shikuang.swf?id=101010100

现在有个解决法子,就是inetget,但ACNWrapper老报InetGet() [内置] 调用参数的数量错误.,但其实是可以用的,大概是bug

但找不到个合适的下载东西的源码,能给我推荐不?

afan 发表于 2009-9-10 12:26:38

是这个图表啊,那好像还好办

kn007 发表于 2009-9-10 12:31:40

怎么搞呢?先谢谢先。
能不能直接内嵌网址中的swf就是1楼那个
http://www.autoitx.com/forum.php?mod=viewthread&tid=6178&page=1&fromuid=7644076#pid41524
像他那样,或者直接改他的,要怎么改,我觉得他的也不错。。。

另外,给个从远程下载东西的例子,麻烦了

afan 发表于 2009-9-10 12:32:38

#include <GUIConstants.au3>

$Obj = ObjCreate("ShockwaveFlash.ShockwaveFlash.9")
If @error Then Exit
GUICreate("嵌入flash测试", 800, 400)
$control = GUICtrlCreateObj($Obj, 10, 30, 780, 300)
If $control = 0 Then Exit (MsgBox(0, "Error", "Error"))
GUISetState()

$Obj.Movie = "http://flash.weather.com.cn/sk2/shikuang.swf?id=101010100"
$Obj.Play()

While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        OnExit()
        EndSelect
WEnd

Func OnExit()
        GUIDelete()
        Exit
EndFunc   ;==>OnExit

afan 发表于 2009-9-10 12:33:47

吃饭先,呵呵~

kn007 发表于 2009-9-10 12:49:03

还不错,但能不能让点击查看详细说明    网页按钮无效?

一按就错误,正确的说,一按弹出新网页,新网页一关,autoit错误退出

afan 发表于 2009-9-10 12:53:14

这个就没玩过了,不知道怎么限制~
就这个swf界面而言,不知道能否用另外的Gui遮挡链接那部分来实现这个目的~

afan 发表于 2009-9-10 13:08:53

本帖最后由 afan 于 2009-9-10 13:13 编辑

#include <GUIConstants.au3>
#include <WindowsConstants.au3>

$main_GUI = GUICreate("嵌入flash截取", 800, 400)
GUISetState()

$Obj = ObjCreate("ShockwaveFlash.ShockwaveFlash.9")
If @error Then Exit (MsgBox(0, "Error", "Error"))
GUICreate("", 770, 250, 15, 30, BitOR($WS_CHILD, $WS_TABSTOP), -1, $main_GUI)
$control = GUICtrlCreateObj($Obj, 0, -10, 770, 300)
If $control = 0 Then Exit (MsgBox(0, "Error", "Error"))
GUISetState()

$Obj.Movie = "http://flash.weather.com.cn/sk2/shikuang.swf?id=101010100"
$Obj.Play()

While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        OnExit()
        EndSelect
WEnd

Func OnExit()
        GUIDelete()
        Exit
EndFunc   ;==>OnExit就像这样,把它截了~~

afan 发表于 2009-9-10 14:15:03

又想了个简单的方法,弄个控件遮住限制点击的地方即可,这样还可以处理以上方法无法做到的处理中间部分~ 呵呵#include <GUIConstants.au3>

$Obj = ObjCreate("ShockwaveFlash.ShockwaveFlash.9")
If @error Then Exit
GUICreate("嵌入flash测试", 800, 400)
GUICtrlCreateLabel("", 10, 290, 780, 30)
$control = GUICtrlCreateObj($Obj, 10, 30, 780, 300)
If $control = 0 Then Exit (MsgBox(0, "Error", "Error"))
GUISetState()

$Obj.Movie = "http://flash.weather.com.cn/sk2/shikuang.swf?id=101010100"
$Obj.Play()

While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        OnExit()
        EndSelect
WEnd

Func OnExit()
        GUIDelete()
        Exit
EndFunc   ;==>OnExit
页: [1]
查看完整版本: 内嵌swf问题