Electron / Node.js找到第三方应用程序窗口位置 - 覆盖另一个应用程序

时间:2016-06-22 18:22:32

标签: node.js electron

电子/节点是否可以找到另一个第三方应用窗口大小和位置?

我想为游戏编写一个叠加层,并根据游戏窗口将我的电子窗口放置在某个位置上方。

1 个答案:

答案 0 :(得分:0)

可以使用 electron-overlay-window package

支持:

  • Windows (7 - 10)
  • Linux (X11)

它通过标题跟踪目标窗口,并将您的应用程序窗口保持在其正上方。如果您重新启动目标应用程序/游戏,它也会重新连接自身。唯一的缺点 - 它没有很好的记录。但是如果您有使用过 Electron 的经验,那么基本的演示非常简单。

注意 - 它仅适用于窗口或窗口无边框模式。电子窗口不能放置在全屏游戏上。


// ...
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))

您可以在此处查找更多示例: