Entoverse

Reactのこと

Electron Menuから自分の画面スクショを撮る

ElectronのMenuから画面Screen Shotを撮る
f:id:mojeld:20181101161147p:plain

npm install electron-screenshot

electron-screenshotこんなのがあったのでインストールした。

関数の中を見ると

  setTimeout(function () {
    remote.getCurrentWindow().capturePage(function handleCapture (img) {
      remote.require('fs').writeFile(opt.filename, img.toPng(), cb)
    })
  }, opt.delay)

こんな感じになっていたので、Menuから呼べるようにした。

var capture_s = (item, focusedWindow) =>{
  console.log('capture_s');
  var fs = require('fs');
  focusedWindow.capturePage(function handleCapture (img) {
    fs.writeFile('ピングで保存.png', img.toPng(), null);  

  });
。。。。
var template = [{
  label: 'File',
  submenu: [{
    label: 'スクショ',
    click: (item, focusedWindow)=>{
      capture_s(item, focusedWindow);
      }
    }, 

app.on('ready', function() {
  const menu = Menu.buildFromTemplate(template);
  app.setPath("userData", __dirname + "/saved_recordings");
  Menu.setApplicationMenu(menu);
。。。。。