Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ProgID与文件扩展名关系_Java_Activex_Jacob_Clsid_Progid - Fatal编程技术网

Java ProgID与文件扩展名关系

Java ProgID与文件扩展名关系,java,activex,jacob,clsid,progid,Java,Activex,Jacob,Clsid,Progid,我正在使用JACOB项目(javacombridge)开发一个程序 有一个要打开的文件,将传递整个文件名(例如c:\test\test.xls)。为了让JACOB创建一个新的ActiveXComponent,需要向它传递一个ProgID或CLSID。(例如Excel.Application或Word.Application,但在MS领域之外还有Autocad.Application等) 那么,如何将文件扩展名或MIME类型与给定的ProgID或CLSID关联起来呢?是否还有其他数据库可以加入Wi

我正在使用JACOB项目(javacombridge)开发一个程序

有一个要打开的文件,将传递整个文件名(例如c:\test\test.xls)。为了让JACOB创建一个新的ActiveXComponent,需要向它传递一个ProgID或CLSID。(例如Excel.Application或Word.Application,但在MS领域之外还有Autocad.Application等)


那么,如何将文件扩展名或MIME类型与给定的ProgID或CLSID关联起来呢?是否还有其他数据库可以加入Win32_ProgIDSpecification?Win32_ProgID规范具有所有ProgID

通过CLSID或PROGID获得的某些抽象对象不能处理文件名。它只能通过一些接口方法打开文件,这在大多数情况下是不同的

例如,对于可执行文件,您可以将文件名作为参数传递,但ActiveX对象没有这种通用功能


对于您的情况,我将为最广泛使用的对象/应用创建自己的“DB”。

您可以在Windows注册表中检查与文件扩展名关联的ProgID

在注册表基键HKEY_CLASSES_ROOT下查找扩展名。那里将有名为“.pdf”、“.xls”等的键。键的默认值是ProgID