我有一个本地全屏AIR应用程序(从服务器加载多个SWF),
我正在尝试使用ALT+<letter>
作为快捷方式。
但Windows操作系统拦截ALT
键,例如当我按ALT+Space
时显示左上角窗口菜单,我想阻止它。
我找到了这些帖子,这似乎是一个解决方案:
http://blog.six4rty.ch/2010/11/09/air-quick-hint-suppress-keyboard-events/
http://inflagrantedelicto.memoryspiral.com/2009/12/adobe-air-preventing-users-from-closing-the-app/
但没有运气。
我试过像这样使用preventDefault()
:
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, ff);
...
function ff(e:KeyboardEvent):void {
e.preventDefault();
}
但这并不妨碍操作系统拦截ALT
密钥......
关于缺少什么的一些线索?
/感谢 / J
我正在使用Flash CS5.5 / Win XP / Air 2.6进行编译
如果我编译并运行Air-app,或者只是从Flash IDE(Ctrl+Enter
)调试,则没有区别。
答案 0 :(得分:0)
你不能阻止它,因为它是一个OS功能。这就像你试图阻止ctrl + alt + del,它是不允许的。 使用AS3 preventDefault,您只能阻止虚拟机的事件,OS'冒泡'继续。你也不会对ANE好运,因为你不能在c ++中做到这一点。