首页 文章

哪里可以找到COM DLL?

提问于
浏览
2

我w一个com对象的dll我注册了哪里可以在我的机器中找到这个dll(当我们将dll注册到nachine复制dll的地方时)

还有更多的问题,如果我尝试在powerShell中使用这个com对象,如果我尝试在javaScript中使用它,那么一切顺利,我得到异常任何想法???为什么??

2 回答

  • 2

    注册COM DLL不会复制DLL . 它只是添加COM用于定位DLL的注册表项 . 例如,为每个类添加一个键“HKEY_CLASSES_ROOT \ CLSID {您的类ID}” . 很多时候,DLL的路径作为默认值存储在子项中,例如“InprocServer32”(实际名称取决于您的类如何配置为激活) .

    JavaScript无法访问COM对象,甚至是本地文件,因为JavaScript是出于安全原因在隔离环境中执行的 .

  • 4

    正如Richard Walters所说,注册COM对象不会将其复制到任何地方 . 通常我很懒,而不是在REGEDIT中查找长GUID,我使用查找功能搜索DLL的名称 .

    既然你提到了PowerShell,我可以假设你试图在Windows脚本宿主中使用Javascript吗?如果是这样,知道异常是什么可能会有所帮助 . 尽管如何执行此操作的示例:

    var xml = new ActiveXObject(“Microsoft.XMLDOM”); xml.load( “foo.xml”);

    当然,用来自COM对象的信息替换Microsoft.XMLDOM .

    等效的PowerShell将是:

    $ xml = New-Object -ComObject Microsoft.XMLDOM $ xml.load(“foo.xml”)

相关问题