在电子窗口之外获得选定的文本内容?

时间:2018-07-18 21:23:19

标签: javascript electron clipboard

我创建了一个隐藏在后台运行的电子应用程序。我要实现的是,当用户选择或突出显示文本并输入快捷键命令时,电子应用将获取突出显示的文本并将其发送到服务器。

这引起了我两个问题:

  1. 如何获取电子应用程序之外的选定文本? (当前,我是通过用户输入我配置的快捷键命令来实现它的,这将获取剪贴板的内容,然后将其推送到服务器。)

  2. 是否可以覆盖“ Cmd+CCtrl+C”的全局快捷键,并在快捷键命令中向服务器调用添加一个附加的帖子? (我尝试过搜索操作方法,但没有找到答案)

这是我到目前为止所拥有的:

app.on('ready', () => {
    globalShortcut.register('CommandOrControl+0', () => {
      console.log('CommandOrControl+0 is pressed')
      keyCommandPressed()
    })

function keyCommandPressed () {
    clipboardText = clipboard.readText([String])
     /* Code to send server call... */

  }

1 个答案:

答案 0 :(得分:0)

您应该注册一个本地快捷方式:

const electronLocalshortcut = require('electron-localshortcut');
electronLocalshortcut.register(yourWindow, 'CmdOrCtrl+V', () => {
  yourFunction()
});

此后,您必须使用剪贴板从剪贴板读取文本: 首先插入剪贴板

const {clipboard} = require('electron')

然后尝试一下:

yourFunction()
{
  console.log(clipboard.readText())
}