Electron 注册全局快捷键(globalShortcut) 以及 clipboard剪切板事件(实现类似播放器点击机器码自动复制功能)
globalShortcart.js引入到主进程里
var { globalShortcut ,app} =require('electron'); app.on('ready',function(){ //注册全局快捷键 globalShortcut.register('ctrl+e',function(){ console.log('ctrl+e'); }) globalShortcut.register('ctrl+d',function(){ console.log('ctrl+d registed'); }) //检测快捷键是否注册功能 console.log(globalShortcut.isRegistered('ctrl+e')); }) app.on('will-quit',function(){ //注销全局快捷键的监听 globalShortcut.unregister('ctrl+e'); globalShortcut.unregister('ctrl+d'); })
cliboard.js引入到渲染进程里
//clipboard模块可以在主进程里面使用 也可以在渲染进程里面使用 var {clipboard,nativeImage} =require('electron'); //执行复制操作 //复制 // clipboard.writeText('机器码') // 粘贴 // clipboard.readText(); var code=document.querySelector('#code'); var btn=document.querySelector('#btn'); var input=document.querySelector('#input'); code.onclick=function(){ clipboard.writeText(code.innerHTML); alert('复制成功') ; //写一个div提示 } btn.onclick=function(){ //获取复制的内容 input.value= clipboard.readText(); } //监听按钮点击复制图片的事件 var btncopyimg=document.querySelector('#btncopyimg'); btncopyimg.onclick=function(){ //复制图片黏贴到我们页面上 /* 1.引入nativeImage 2、创建一个nativeImage的对象 */ var image=nativeImage.createFromPath('static/favicon2.ico'); //复制图片 clipboard.writeImage(image); //粘贴图片 var imgsrc=clipboard.readImage().toDataURL(); console.log(imgsrc); //base64的地址 //创建一个img标签 指定他的src var imgDom=new Image(); imgDom.src=imgsrc; document.body.appendChild(imgDom); }
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> .red{ color:red; } </style> </head> <body> <div> 机器码:<span class="red" id="code">124124321fdsfsd234324325325</span> </div> <br> <input type="text" id="input"> <button id="btn">黏贴</button> <br> <br> <br> <br> <button id="btncopyimg">复制图片显示到页面</button> <br> <br> <br> <script src="renderer/clipboard.js"></script> </body> </html>
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!