Electron (Atom shell)本机代码:窗口焦点

Electron (Atom shell) native code: window focus

本文关键字:窗口 焦点 本机代码 Atom shell Electron      更新时间:2023-10-16

我已经为WinBioCaptureSample创建了一个本地c++附加组件,我已经对它进行了测试,当在命令窗口中单独运行本地代码时(使用node ./test.js),它可以工作。然而,当我试图在我的电子应用程序中运行它时,应用程序卡住了。

我已经把问题缩小到WinBioCaptureSample函数需要窗口焦点的事实(如果我传递其他东西,一切都很好)。然而,在电子应用程序中,似乎从来没有窗口焦点(由于它被封装的事实?)这是一个很渺茫的机会,但有人已经遇到了同样的问题,或类似的东西吗?

一个可能的解决方案是打开一个单独的命令窗口,但这将是丑陋的,如果用户关闭这个窗口,问题将持续存在。

似乎WinBioAcquireFocus完成了这项工作。你可以像这样调用这个方法

WinBioAcquireFocus();

确保您的应用程序具有本地系统特权,以便它始终能够捕获示例,即使它已在后台打开。必须调用WinBioReleaseFocus()来释放焦点。