防止ALT+空格键在全屏窗口



我有一个本地全屏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/
  • 禁用某些键's默认动作

但是运气不好。我试着像这样使用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)调试,则没有区别。

你不能阻止它,因为它是一个操作系统功能。这就像你试图阻止ctrl+alt+del,这是不允许的。使用AS3 preventDefault,你只阻止虚拟机的事件,操作系统的"冒泡"继续。使用ANE也不会有这样的运气,因为在c++中也不能这样做。

相关内容

最新更新