首页 > 解决方案 > 在电子窗口之外获取选定的文本内容?

问题描述

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

这导致我有两个问题:

  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... */

  }

标签: javascriptelectronclipboard

解决方案


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

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

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

const {clipboard} = require('electron')

然后试试这个:

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

推荐阅读