38 lines
847 B
JavaScript
38 lines
847 B
JavaScript
const { app, BrowserWindow } = require('electron')
|
|
const fs = require('node:fs')
|
|
const path = require('node:path')
|
|
|
|
app.disableHardwareAcceleration()
|
|
|
|
function createWindow () {
|
|
const win = new BrowserWindow({
|
|
width: 800,
|
|
height: 600,
|
|
webPreferences: {
|
|
offscreen: true
|
|
}
|
|
})
|
|
|
|
win.loadURL('https://github.com')
|
|
win.webContents.on('paint', (event, dirty, image) => {
|
|
fs.writeFileSync('ex.png', image.toPNG())
|
|
})
|
|
win.webContents.setFrameRate(60)
|
|
console.log(`The screenshot has been successfully saved to ${path.join(process.cwd(), 'ex.png')}`)
|
|
}
|
|
|
|
app.whenReady().then(() => {
|
|
createWindow()
|
|
|
|
app.on('activate', () => {
|
|
if (BrowserWindow.getAllWindows().length === 0) {
|
|
createWindow()
|
|
}
|
|
})
|
|
})
|
|
|
|
app.on('window-all-closed', () => {
|
|
if (process.platform !== 'darwin') {
|
|
app.quit()
|
|
}
|
|
})
|