我能为Adobe AIR应用分配全局热键吗?

12

在Adobe AIR应用程序中,是否可能为特定功能分配全局热键,即使应用程序不处于活动状态,该应用程序功能也会响应热键(当然,它必须正在运行,但仅在系统托盘中运行)。

3个回答

4
我认为Adobe AIR本身无法实现这一点。我能想到的唯一方法是:
  1. 安装第三方热键应用程序(例如AutoHotkeyHotKeyBind)。
  2. 配置热键应用程序,将CTRL+ALT+Q设置为启动"c:\programs\thvo42\coolapp.exe --hotkey q"。
  3. 在您的AIR应用程序中,注册NativeApplication.invoke事件,并关注类似“--hotkey q”的参数,以知道是否按下了Q热键,然后根据情况采取行动。
当然,这可能有点麻烦,也许通过某些技巧可以将其全部整合到单个安装文件中。

谢谢,暂时应该可以工作。关于invoke的关键是:“当第二次调用应用程序时,不会启动另一个应用程序实例。相反,第一个实例将接收到一个额外的invoke事件。”(来源:上面链接的Adobe AIR文档) - thvo

1

来自参考手册:

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


在AIR应用程序中,是全局的还是整个桌面的?我相当确定只有当AIR应用程序处于焦点状态时,舞台才会响应按键。 - chamberlainpi

0

SWFKit 可以为您的 Flash/Flex 电影创建一个包装器,并允许访问系统 DLL 和其他好东西,但不幸的是它只能导出为 .exe,因此仅限于 Windows 平台,而且不能用于 AIR。

据我所知,仅使用 AIR 是不支持它的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接