Electron (Atom shell) 本机代码:window focus

Electron (Atom shell) native code: window focus

我已经为 WinBioCaptureSample 创建了一个本地 C++ 附加组件,我已经对其进行了测试,当 运行 在命令 window 中单独使用本地代码时它可以工作(使用节点 ./test.js)。但是,当我尝试在我的电子应用程序中 运行 它时,该应用程序会阻止。

我已将问题缩小到 WinBioCaptureSample 函数需要 window 焦点这一事实(如果我传递其他内容,一切正常)。但是,似乎在 Electron 应用程序中,从来没有 window 焦点(可能是因为它被封装了?)。这不太可能,但是有没有人 运行 遇到同样的问题或类似的问题?

一个可能的解决方案是打开一个单独的命令 window,但这会很丑陋,如果用户关闭此 window,问题将仍然存在。

看来 WinBioAcquireFocus 可以做到。您可以像这样调用此方法

WinBioAcquireFocus();

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