剪贴板中的电子粘贴值

SBB

我正在玩一个小型电子应用程序,以制作简单的复制/粘贴方法。

我已经使用注册了热键globalShortcut

globalShortcut.register(mod + '+' + key, () => { 
 clipboard.writeText(content);
 // Paste content to any input field/app
});

现在可以转到记事本并按注册的修饰符粘贴内容吗?

示例:应用程序加载,注册一个快捷方式,该快捷方式将剪贴板设置为其所需的文本。

然后,他们进入一个想要粘贴此内容的表单,然后按要为其粘贴内容的键?

这实质上是员工使用他们想要的任何按键组合来设置通用的快捷键/文本片段的方式。因此,如果他们正在填写报告123,则只需按下其键“ Ctrl + Shift + R”,即可粘贴与该热键关联的内容。

如何执行此操作或模拟Ctrl V触发它?

我已经尝试过RobotJS(不支持全局快捷键)和Java版本(无论如何都不要使用)。

snwflk

它使用以下代码为我工作:

const { app, globalShortcut } = require('electron')
const robot = require('robotjs')

app.on('ready', () => {
    globalShortcut.register('Control+Shift+R', () => {

        console.log('Control+Shift+R is pressed')

        // simulate CTRL+V / CMD+V
        setTimeout(() => {
            robot.keyTap('v', process.platform==='darwin' ? 'command' : 'control')
        }, 150)
    })
})

app.on('will-quit', () => {
    globalShortcut.unregisterAll()
})

这里的“技巧”是将模拟的按键延迟一定的时间间隔,以便解开实际的,物理的按键和模拟的按键。在较短的间隔内,我经常看到“ v”出现。

您需要确定是延迟更长的时间(由于“等待”时间长而对用户友好,但不太可能混淆按键)还是延迟时间较短(及时响应,由于按键混淆而导致错误结果的可能性更大) )。

如果我们谈论的是高度重复的工作或大量的文本,这可能仍会节省时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章