我正在做一个使用雅各布项目(JAva COm桥)的项目。
有一个要打开的文件,传递的是整个名称(例如c:\test\test.xls)。为了让雅各布创建一个新的ActiveXComponent,需要向它传递一个ProgID或CLSID。(例如Excel.Application或Word.Application,但在MS领域之外还有Autocad.Application等)
那么,如何将文件扩展名或MIME类型与给定的ProgID或CLSID关联起来呢?还有没有其他数据库可以加入Win32_ProgIDSpecification?Win32_ProgIDSpecification拥有所有的ProgID。
发布于 2010-02-19 11:56:19
通过CLSID或PROGID获得一些抽象对象不能对文件名做任何事情。它只能通过一些接口方法打开文件,这些接口方法在大多数情况下是不同的。
例如,对于可执行文件,您可以将文件名作为参数传递,但ActiveX对象没有这种通用功能。
对于您的情况,我将为最广泛使用的对象/应用程序创建我自己的“DB”。
发布于 2010-04-21 16:04:36
您可以在Windows注册表中检查与文件扩展名关联的ProgID。
在注册表基键值HKEY_CLASSES_ROOT下查找该扩展。将有名为".pdf“、".xls”等的键。该键的默认值是ProgID。
https://stackoverflow.com/questions/2292935
复制相似问题