向Flash对象发送无声键
我基本上是想给一个闪光的物体发送一个按键。实际上,我有一个InternetExplorer的Win32Com实例,还有一个从我加载的InternetExplorer文档中获取的Flash对象 有没有什么方法可以在不按按键的情况下向这个Flash对象发送击键 请允许我澄清:向Flash对象发送无声键,flash,activex,keypress,Flash,Activex,Keypress,我基本上是想给一个闪光的物体发送一个按键。实际上,我有一个InternetExplorer的Win32Com实例,还有一个从我加载的InternetExplorer文档中获取的Flash对象 有没有什么方法可以在不按按键的情况下向这个Flash对象发送击键 请允许我澄清: 这不是我的Flash应用程序,它是以.swf格式发布到web上的Flash应用程序。您可以通过在应用程序中发送键盘事件来模拟按键: public function Main() { // add a listener
这不是我的Flash应用程序,它是以.swf格式发布到web上的Flash应用程序。您可以通过在应用程序中发送键盘事件来模拟按键:
public function Main()
{
// add a listener to our stage
this.stage.addEventListener( KeyboardEvent.KEY_DOWN, this._onKeyDown );
// mimics an event for an 'a' key press
var e:KeyboardEvent = new KeyboardEvent( KeyboardEvent.KEY_DOWN, true, false, 97, 65 );
this.dispatchEvent( e );
}
// called when a key is pressed
private function _onKeyDown( e:KeyboardEvent ):void
{
trace( "Key pressed! " + e.keyCode );
trace( e.keyCode + " = keycode" );
trace( e.keyLocation + " = key location" );
trace( e.charCode + " = char code" );
}
有关更多信息,请查看KeyboardEvent类:
如果要从浏览器触发此事件,则可以设置外部接口调用来调用将触发事件的flash函数 只需在应用程序中发送键盘事件,即可模拟按键操作:
public function Main()
{
// add a listener to our stage
this.stage.addEventListener( KeyboardEvent.KEY_DOWN, this._onKeyDown );
// mimics an event for an 'a' key press
var e:KeyboardEvent = new KeyboardEvent( KeyboardEvent.KEY_DOWN, true, false, 97, 65 );
this.dispatchEvent( e );
}
// called when a key is pressed
private function _onKeyDown( e:KeyboardEvent ):void
{
trace( "Key pressed! " + e.keyCode );
trace( e.keyCode + " = keycode" );
trace( e.keyLocation + " = key location" );
trace( e.charCode + " = char code" );
}
有关更多信息,请查看KeyboardEvent类:
如果要从浏览器触发此事件,则可以设置外部接口调用来调用将触发事件的flash函数 在Windows上,您可以生成输入并使用函数将其发送到操作系统。输入是在系统级生成的,就像用户在按键或使用鼠标一样,所以浏览器必须处于焦点位置才能获取输入。在Windows上,您可以生成输入并将其发送到具有此功能的操作系统。输入是在系统级生成的,就像用户在按键或使用鼠标一样,所以浏览器必须处于焦点才能获取输入。***更新。。。再次*** 好吧,我想我对你的问题有了真正的答案。查看以下文档: 您需要使用axShockwaveFlash.FlashCall接口 ***更新*** 找到此链接: 说明如何获取对活动应用程序实例的引用 ***原职*** 我同意alxx的观点,这是你必须在本地做的事情,我不知道这会那么容易做到。您必须以某种方式获取flash实例,我不确定这有多困难,因为有很多变量需要考虑。但是,我可以说这是可能的,这里有一些关于如何使用各种语言(C#、VC++等)实现这一点的文档: 下面是我的一篇博文,内容是关于如何在C#中与flash控件交互(至少给你一个想法): SVN上有一个指向源代码的链接。这不是最好的答案,因为我没有提供任何确切的方法,但我希望这对您来说是一个好的开始。***更新。。。再次*** 好吧,我想我对你的问题有了真正的答案。查看以下文档: 您需要使用axShockwaveFlash.FlashCall接口 ***更新*** 找到此链接: 说明如何获取对活动应用程序实例的引用 ***原职*** 我同意alxx的观点,这是你必须在本地做的事情,我不知道这会那么容易做到。您必须以某种方式获取flash实例,我不确定这有多困难,因为有很多变量需要考虑。但是,我可以说这是可能的,这里有一些关于如何使用各种语言(C#、VC++等)实现这一点的文档: 下面是我的一篇博文,内容是关于如何在C#中与flash控件交互(至少给你一个想法):
SVN上有一个指向源代码的链接。这不是最好的答案,因为我没有提供任何确切的方法,但我希望这对您来说是一个好的开始。您试图从flash内部或外部发送关键事件?您试图从flash内部或外部发送关键事件?请允许我澄清:这不是我的flash应用程序。我没有访问Flash文件的实际操作脚本。虽然如果我是Flash文件的作者,这个解决方案可能是正确的,但这并不是我想要的。请允许我澄清:这不是我的Flash应用程序。我没有访问Flash文件的实际操作脚本。虽然如果我是Flash文件的作者,这个解决方案可能是正确的,但这并不是我要找的。哈哈,我真是个笨蛋,我把你的问题浏览得太快了,没有意识到你已经有了对Flash实例的引用。不管怎样,我会留下我的答案,就像其他人的信息一样。这些信息有用吗?非常确定关于FlashCall的最新更新是正确的答案。哈哈,我真是个笨蛋,我把你的问题浏览得太快了,没有意识到你已经有了对FlashCall实例的引用。不管怎样,我会留下我的答案,就像其他人的信息一样。这些信息有用吗?非常确定关于FlashCall的最新更新是正确的答案。