VB如何实现发出点击FLASH按钮的命令?
VB用了ShockwaveFlash控件,载入了一个联网查天气的Flash,就是这个FLASH: "http://flash.weather.com.cn/sk2/shikuang.swf?id=101050101"这个Flash有几个选项,有温度,湿度,气压,风向等,这些是可以用鼠标点击后查看的,但我想让VB自己实现点击这些选项的这个动作,就是想实现每隔5秒自动换一个天气项目,我之前用指定坐标模拟鼠标点击动作,但效果不理想,能不能用程序直接向ShockwaveFlash控件写某个指令来实现切换项目的动作?哪位高人可以帮助一下,万分感谢!
[解决办法]
控件可以接收、发送flash命令的
flash发命令给vb:
在flash中,用fscommand(参数1,参数2);
vb的shockwaveflash控件接收,
vb传值给Flash。
me.shockwaveflash.setVal...什么的,忘记了,明天再给你段例子吧。
[解决办法]
如期回帖
Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)' 这里是用来接收Flash中发出的命令' Flash的命令格式为 fscommand(command,args);End Sub' VB发送参数给FlashMe.ShockwaveFlash1.SetVariable Flash中的元件名, 参数值' 例如Flash中有个文本框元件,实例名为txt_Name,Me.ShockwaveFlash1.SetVariable "_root.txt_Name.text", "显示我吧"
[解决办法]
也可以试试AutoHotKey
[解决办法]
变量的名称是你在vb和flash中定义的,如果flash不是你做的,那你要和做flash程序的协调这个定义,或flash用fscommand把元件名传给vb。
赋值和执行函数是相同的原理。
如下例:
Flash中有一个按钮btnPa,显示为“查询气压”,一个显示当前气压的元件mcPa,比如一个100帧的圆柱体MC
按钮命令为:
var currentValue = 0;
btn_Pa.onRelease = function (){
fscommand("Query_Pa",currentValue);
}
mcPa.onEnterFrame = function (){
if(currentValue != 0){
mc.gotoAndStop(currentValue);
currentValue = 0;
}
}
///
VB中的代码:
窗体上有一个ShockwaveFlash1,载入上面的Flash
Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
'这里是用来接收Flash中发出的命令
if command =="Query_Pa" then
MyQueryPA
end if
End Sub
Sub MyQueryPA()
' 查询出当前气压的值,并传回给Flash中的变量currentValue
query pa
Me.ShockwaveFlash1.SetVariable "currentValue", 100
End Sub
[解决办法]
我自认为对flash有一定了解,但是你所说的这个FLASH网页感到特别棘手.网页源文件隐藏得比较彻底,网页FLASH不能下载到本地,所以分析源文件和分析FLASH的代码都无法实现,想来只有两条路可走(1)抓包;(2)确定按钮在屏幕上的位置,向屏幕的确定区域发送Click信息.