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

时间:2015-10-14 06:20:47

标签: c++ fingerprint electron

我为WinBioCaptureSample创建了一个本机C ++插件,我测试了它,并且在命令窗口中单独运行本机代码时使用它(使用node ./test.js)。但是,当我尝试在我的电子应用程序中运行它时,应用程序阻止。

我已经将问题缩小到WinBioCaptureSample函数需要窗口焦点的事实(如果我传递其他内容,一切正常)。但是,似乎在Electron应用程序中,从来没有窗口焦点(由于它可能被封装的事实?)。这是一个很长的镜头,但有任何人已经遇到同样的问题,或类似的东西?

一个可能的解决方案是打开一个单独的命令窗口,但这很难看,如果用户关闭此窗口,问题就会持续存在。

1 个答案:

答案 0 :(得分:1)

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

WinBioAcquireFocus();

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