检测MSWORD.OLB是否注册及注册的代码

本文提供了解决MSWORD.OLB未正确注册问题的代码方案,包括通过检查接口是否存在来判断注册状态,以及使用regtlibv12.exe进行注册的方法。关键步骤包括获取注册工具路径、读取Office安装目录和执行文件注册。
摘要由CSDN通过智能技术生成

此文章为MSWORD.OLB未正确注册导致问题现象及解决方法的代码解决:


代码逻辑:

1、先检测是否注册了wordolb。

      检测方法:看能否得到word 文档对象的接口。如果得不到且错误返回码为TYPE_E_CANTLOADLIBRARY,则定义为olb未注册成功。


2、发现未注册,使用regtlibv12.exe注册wordolb。


以下是关键代码:

(1)检测wordolb是否注册

/*
 * check if word ole is register
 * return  0 MSWORD.OLB is registered
 * return -1 MSWORD.OLB is not registered
 * return other CoCreateInstance's return
 * 
 */
int WordOlbRegisterCheck()
{
    int nReturn = -2;
    const CLSID CLSID_WORD_DOCUMENT_DOC = {0x00020906, 0x0000, 0x0000,{0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};
    const IID IID_IDocument = {0x0002096b, 0x0000, 0x0000,{0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}};

    CoInitialize(NULL
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值