无法聚焦electron应用程序(在Windows上)

无法聚焦electron应用程序(在Windows上),windows,electron,focus,Windows,Electron,Focus,希望有一个简单的问题:我正在制作一个计时器样式的应用程序,我希望应用程序在计时器结束时重新获得焦点。当计时器结束时,应用程序成功地弹出,我甚至可以在第一个文本框中看到一个闪烁的光标,但当我键入某个内容时,它仍然会转到它后面的应用程序。我已经尝试了我在electron文档(如下所列)中找到的每一种方法,但没有一种有效。有没有其他我错过的途径,或者这是不可能的 Object.values(windows).forEach((window)=>{//windows此处存储应用程序的所有浏览器窗口 wi

希望有一个简单的问题:我正在制作一个计时器样式的应用程序,我希望应用程序在计时器结束时重新获得焦点。当计时器结束时,应用程序成功地弹出,我甚至可以在第一个文本框中看到一个闪烁的光标,但当我键入某个内容时,它仍然会转到它后面的应用程序。我已经尝试了我在electron文档(如下所列)中找到的每一种方法,但没有一种有效。有没有其他我错过的途径,或者这是不可能的

Object.values(windows).forEach((window)=>{//windows此处存储应用程序的所有浏览器窗口
window.focus();
focusOnWebView();
window.webContents.focus();
});
app.focus({steal:true});

谢谢

我也尝试了所有记录在案的方法,但没有任何效果(至少在Windows 10中是这样)

要将应用程序置于顶部,我必须像这样切换
AlwaysOnTop
(渲染器过程):

let currentWindow=window.require(“electron”).remote.getCurrentWindow();
currentWindow.setAlwaysOnTop(真);
currentWindow.setAlwaysOnTop(错误);
但不幸的是,这对应用程序的关注没有帮助

BrowserWindow::restore()
函数正确地将焦点设置回应用程序。所以你可能会这样做(尽管看起来很糟糕):

currentWindow.minimize();
currentWindow.restore();
有趣的是,我在其他C++项目中也有类似的问题,所以可能是OS相关的东西。为了解决C++项目中的问题,我必须在激活窗口之后调用函数。由于ElectronJS
BrowserWindow
具有返回Windows
HWND
句柄的功能,如果没有其他功能,您可能可以利用此功能

祝你好运