OleCreateFromFile返回0x80040154:类未注册



使用*.docx文件路径调用OleCreateFromFile返回0x80040154:class未注册。这是在安装了Office 2010和Visual Studio 2008的Windows 7系统上发生的,但该问题已在各种系统以及Office 2003上重现。

如何确定尝试注册哪个类?使用相同的文件路径参数调用GetClassFile会为Microsoft Word生成有效的CLSID,该CLSID实际上可以从应用程序中实例化。对OleCreateFromFile调用完全相同的此应用程序的旧版本没有出现此问题。

您可以相对轻松地使用性能监视器来跟踪调用OleCreateFromFile API和获取REGDB_E_CLASSNOTREG之间的注册表活动。您将看到查询的注册表项,特别是在HKEY_CLASSES_ROOT下,并且您将能够跟随API的尝试来实例化对象。

最新更新