0

我正在使用 WBF 开发生物识别模块。我正在使用Winbio CaptureSampleImage提供的代码来获取转换为 .bmp 文件并保存的图像数据。我创建了一个 DLL 文件,其中包含与我使用 WBF 相关的所有代码。我在使用JNI的 Java Spring Boot 应用程序中使用这个 DLL 。由此创建的 jar 通过 .vbs 文件运行,如下所示。

Set shellObj = CreateObject("Shell.Application")
shellObj.ShellExecute "C:\Program Files\Java\jre1.8.0_192\bin\java.exe", "-jar MyApp.jar", "", "runas", 0

“runas”用于以管理员权限运行 jar。“0”用于将其设置为不可见。

我以前曾在使用WINSW作为服务运行的 Jar 中使用DLL 。为此,我在创建WinBio AcquireFocusWinbio CaptureSampleImage中提到的会话后包括了WinBio AcquireFocus ,它工作得非常好。

现在我有两个场景。

1)我使用Winbio CaptureSampleImage中提供的代码。调用以下方法时,此方法会卡住。

hr = WinBioCaptureSample(
            sessionHandle,
            WINBIO_NO_PURPOSE_AVAILABLE,
            WINBIO_DATA_FLAG_RAW,
            &unitId,
            &sample,
            &sampleSize,
            &rejectDetail
            );

即不返回任何输出。

2)我使用WinBio AcquireFocus就像我使用我的服务一样。

这提示错误:

代码:0x80070005(拒绝访问)。

常见的 HRESULT 值在此处给出。这可能是因为 AcquireFocus 不能在我的应用程序中使用。

4

0 回答 0