使用Electron/Node,能否查找第三方应用程序窗口的大小和位置?
我想为一个游戏编写一个叠加层,并根据游戏窗口在特定位置上方放置我的Electron窗口。
使用Electron/Node,能否查找第三方应用程序窗口的大小和位置?
我想为一个游戏编写一个叠加层,并根据游戏窗口在特定位置上方放置我的Electron窗口。
可以使用electron-overlay-window package实现。
支持:
它通过标题跟踪目标窗口,并将您的应用程序窗口放在其上方。如果重新启动目标应用程序/游戏,它还会重新附加自己。唯一的缺点是它没有很好的文档说明。但是,如果您有任何与电子相关的经验,基本演示非常简单。
请注意 - 它仅适用于窗口化或无边框窗口化模式。电子窗口无法放置在全屏游戏上方。
// ...
import { overlayWindow as OW } from 'electron-overlay-window'
// ...
const win = new BrowserWindow({
...OW.WINDOW_OPTS,
width: 800,
height: 600,
resizable: false,
webPreferences: {
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
},
})
// ... when ready
OW.attachTo(window, 'Untitled - Notepad')
// listen for lifecycle events
OW.on('attach', ev => { console.log('WO: attach', ev) })
OW.on('detach', ev => { console.log('WO: detach', ev) })
OW.on('blur', ev => { console.log('WO: blur', ev)})
OW.on('focus', ev => { console.log('WO: focus', ev)})
OW.on('fullscreen', ev => console.log('WO: fullscreen', ev))
OW.on('moveresize', ev => console.log('WO: fullscreen', ev))
您可以在此处查看更多示例: