java-无法访问ActiveX应用程序“ com.jacob.com.ComFailException:无法从progid获取对象clsid”

我正在尝试使人脸检测和比较代码。现在,对于该项目,我将使用ZZactiveX2.0。 所以我用jacob访问activeX。 我下载了jacob-1.19,并将jacob-1.19-x86.dll复制到System32,并在我的Java项目中注册了jacob-1.19.jar。 我检查了注册表中的应用clsid(HKEY_CLASSES_ROOT \ actIVEX.activeXCtrl.1 \ CLSID(Default)->“ {e77e4cc8-e879-4a72-850a-b824742ec5b7}”)。

import com.jacob.activeX.activeXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

class activeXTest {
    public static void main(String[] args) {       
        try {
            activeXComponent xl = new activeXComponent("{e77e4cc8-e879-4a72-850a-b824742ec5b7}");
            Dispatch xlo = xl.getObject();

        }
        catch (Exception e){
            e.printStackTrace();
        }

    }
}

但是此代码出现如下错误。

com.jacob.com.ComFailException: Can't get object clsid from progid
    at com.jacob.com.Dispatch.createInstanceNative(Native Method)
    at com.jacob.com.Dispatch.<init>(Dispatch.java:99)
    at com.jacob.activeX.activeXComponent.<init>(activeXComponent.java:58)
    at activeXTest.main(actvieXTest.java:11)

我搜索了此错误,并看到了有关Word应用程序的示例项目。 我遵循了一些解决方案,但是在我的项目中不起作用,有人建议使用regasm或AutoItx,但也不能使用。 您见过此类错误吗?您已经解决了这个问题吗?

jian199 回答:java-无法访问ActiveX应用程序“ com.jacob.com.ComFailException:无法从progid获取对象clsid”

您必须插入注册程序名称而不是clsid。

 ActiveXComponent activeXComponent = new ActiveXComponent("ACTIVEX.ActiveXCtrl.1");
,

您可以使用CLSID,但使用以下语法:

ActiveXComponent xl = new ActiveXComponent("CLSID:{e77e4cc8-e879-4a72-850a-b824742ec5b7}");       
本文链接:https://www.f2er.com/2992277.html

大家都在问