【问题标题】:Can I assign a global hotkey to an Adobe AIR app?我可以为 Adob​​e AIR 应用程序分配全局热键吗?
【发布时间】:2010-09-14 07:01:11
【问题描述】:

是否可以为 Adob​​e AIR 应用程序中的特定功能分配全局热键,即无论应用程序是否处于活动状态,应用程序功能都会响应热键(它当然必须在运行,但只能在系统托盘中运行)。

【问题讨论】:

    标签: air development-environment customization


    【解决方案1】:

    我认为 Adob​​e AIR 本身不可能做到这一点。我能想到的唯一方法:

    1. 安装第 3 方热键应用程序(如 AutoHotkeyHotKeyBind
    2. 配置热键应用程序以使 CTRL+ALT+Q 启动 "c:\programs\thvo42\coolapp.exe --hotkey q"
    3. 在您的 AIR 应用程序中,注册 NativeApplication.invoke 事件,并观察诸如“--hotkey q”之类的参数以了解 Q 热键被按下,然后采取相应的行动。

    当然,这有点麻烦,也许通过一些黑客攻击,您可以将其全部整合到一个安装文件中。

    【讨论】:

    • 谢谢,现在应该可以了。关于invoke的关键是:“当一个应用程序被第二次调用时,该应用程序的另一个实例并没有启动。相反,第一个实例接收到一个额外的invoke事件。” (来源:上面链接的 Adob​​e AIR 文档)
    【解决方案2】:

    来自参考手册:

    要全局监听关键事件,请在舞台上监听捕获和目标或冒泡阶段。

    【讨论】:

    • 全局在 AIR 应用程序中,还是整个桌面?我很确定舞台只有在 AIR 应用程序处于焦点时才会响应按键。
    【解决方案3】:

    SWFKit 为您的 flash/flex 电影创建一个包装器,并允许访问系统 DLL 和其他好东西,但不幸的是它会导出为 .exe,因此只有 Windows 而没有 AIR。

    ASFAIK,单独使用AIR是不支持的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多