3

我有一个本地全屏 AIR 应用程序(从服务器加载多个 SWF),我正在尝试ALT+<letter>用作快捷方式。

但是 Windows 操作系统会拦截该ALT键,例如当我按下时显示左上角窗口菜单ALT+Space,这是我想阻止的。

我发现这些帖子,这似乎是一个解决方案:

但没有运气。我试过这样使用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) 中调试,没有区别。

4

1 回答 1

0

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

于 2013-04-10T13:13:26.187 回答