在ontop上创建电子透明窗口,但可在程序下方单击

时间:2018-05-02 20:19:22

标签: javascript window electron

我创建了电子应用程序,按钮点击显示另一个窗口,其高度和宽度为100%,并且在其区域周围有边框。它也是透明的,所以你可以看到这个窗口背后的内容。

现在我想知道我是否能够使下面的东西可以点击,或者我需要创建某种类型的黑客,就像这个新的透明窗口使它非常小,并以某种方式扩展此窗口的边框。

负责创建新透明窗口的代码是:

const electron = require('electron');
const { app, BrowserWindow, Menu } = electron;

let mainWindow;
let addWindow;
let createTransparentWindow;

app.on('ready', () => {
    mainWindow = new BrowserWindow({});
    mainWindow.loadURL(`file://${__dirname}/index.html`);
    const mainMenu = Menu.buildFromTemplate(menuTemplate);
    Menu.setApplicationMenu(mainMenu);

    const mainScreen = electron.screen.getPrimaryDisplay();
    createTransparentWindow = () => {
        addWindow = new BrowserWindow({
            width: mainScreen.size.width,
            height: mainScreen.size.height,
            transparent: true,
            frame: false,
            alwaysOnTop: true,
        });
        addWindow.loadURL(`file://${__dirname}/transparentWindow.html`)
    };
});


const menuTemplate = [
    {},
    {
        label: 'Record',
        submenu: [
            {
                label: 'TransparentWindow',
                click() {
                    createTransparentWindow();
                }
            }
        ]
    }
];

如果我能够制作低于此窗口的应用程序可点击,请告诉我,如果不是我需要在这里介绍什么样的技巧?

1 个答案:

答案 0 :(得分:3)

我找到了问题here的答案。所以你需要浏览器窗口:

addWindow.setIgnoreMouseEvents(true);
addWindow.setFocusable(false);

然后你可以点击。