首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统托盘中MS windows上的电子JS应用程序能监听键盘事件并启动弹出窗口吗?

系统托盘中MS windows上的电子JS应用程序能监听键盘事件并启动弹出窗口吗?
EN

Stack Overflow用户
提问于 2016-09-03 02:57:51
回答 1查看 2.1K关注 0票数 3

我需要建立一个程序,可以运行在MIcrosoft WIndows,这将是一个系统托盘应用程序。它需要坐在托盘中运行,并监听键盘按压。当按下映射键时,将需要打开一个弹出面板,该面板将列出并显示软件快捷方式,单击这些快捷方式将打开选定的软件并关闭弹出窗口。

它基本上是一个应用程序启动程序,它将显示一个依赖于触发键盘键映射的软件列表。例如,键盘映射1将显示弹出窗口中添加到Image editing类别的软件快捷方式。另一个键将打开相同的窗口,但显示text editing的软件快捷方式等等。

因为我是一个web开发人员(PHP和JavaScript)。建立一个真正的视窗C++或C#风格的应用程序是我的能力!

这是一个叫做电子的软件,它允许使用web语言(JS、HTML、CSS)构建跨平台的桌面应用程序,它可以构建我需要的东西,并允许我自己去做!

电子- http://electron.atom.io/

因此,电子应用程序需要:

  • 坐在托盘里听按键的声音。
  • 当检测到映射的密钥时,它将需要打开一个弹出式窗口,其中包含与该键关联的软件项目类别。
  • 当弹出窗口中的软件被点击时,它需要打开该软件并关闭弹出窗口。
  • 当没有软件被点击和点击任何其他地方的屏幕,它需要关闭弹出窗口。

然后,它还需要一个基本设置面板窗口,以便

  • 为类别分配键盘快捷键
  • 添加/删除软件快捷键,存储软件名称文件路径分类和可选图标或图像

问题

我现在真正的问题是。运行在windows任务托盘中的电子应用程序能够监听键,并能够打开和关闭弹出窗口吗?

下面是一个图片,以显示弹出窗口需要有多基本。这只是一个能够从托盘应用程序打开弹出窗口的问题,而不需要打开或聚焦主窗口ap。

更新

我已经确认,系统托盘中的电子应用程序可以监听键盘事件,并在使用globalShortcut启动窗口时启动它们。

globalShortcut http://electron.atom.io/docs/api/global-shortcut/

当应用程序没有键盘焦点时,检测键盘事件。

我还不确定:

  • 从我的应用程序中打开其他程序快捷键
  • 关闭选择项或窗口丢失焦点的弹出窗口
EN

回答 1

Stack Overflow用户

发布于 2016-09-08 13:11:58

是的,你可以使用globalShortcut。但是globalShortcuts会在操作系统上发出按键事件,所以如果您将快捷方式设置为CTRL+C,它将在应用程序上执行,并且不会默认为“复制”。记住这一点,仔细选择你的捷径。

其次,我不知道是否有确切的方法,但您可以在nodejs上运行任何命令行命令,这样您就可以使用childProcess.execSync()在电子上运行任何应用程序的exe。

您可以随时创建BrowserWindow,并指定它们的位置和大小。当他们失去注意力时,听他们的事件来关闭他们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39302830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档