在浏览器和其他应用程序之上对接 electron window

Docking electron window on top of browsers and other applications

我在许多不同的论坛上问过这个问题,但一直找不到解决方案。谁能告诉我这是否可以做到?

启动时,我的浏览器window 目前位于 运行 的所有其他应用程序之上,并且位于我的屏幕顶部,这正是我想要的。但是,我还希望浏览器 window 能够 位于 其他应用程序之上。 google chrome 和 Microsoft edge 等其他浏览器应位于 electron 应用程序下方。

我看了网上的讨论,显然这在 macO 上是可行的,但是没有人真正明确地说这是否可以在 windows 设备上完成。

这是我的代码:

const createWindow = () => {
    // Create the browser window.
    const mainWindow = new BrowserWindow({
        width: 1920,
        height: 200,
        alwaysOnTop:true,
        titleBarStyle: 'none',
        frame: false,
        resizable: false,
        minimizable: false,
        type: 'toolbar',
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false}
        });
  
    mainWindow.setAlwaysOnTop(true, "screen-saver");
    mainWindow.setVisibleOnAllWorkspaces(true);
    mainWindow.setMenuBarVisibility(false);
    mainWindow.moveTop();
    mainWindow.setPosition(0,0)
    // and load the index.html of the app.
    mainWindow.loadFile(path.join(__dirname, 'index.html'));

有人对此有解决方案吗?

谢谢

我不相信这在 Windows 和 Linux OS 机器上使用 Electron 和单独使用 Node.js 是不可能的。

我相信您需要编写一个 C++ 脚本来查询打开的 OS windows。然后通过 C++ 脚本和 Electron 之间的来回通信,你的 Electron 应用程序就可以成为另一个 windows 位置的 'aware'。然后,通过您的 C++ 脚本,设置其他 window(s) 的位置和大小以捕捉到您的 Electron 应用程序 window.

的底部