【问题标题】:COM addin for MS Office doesn't load in a limited user accountMS Office 的 COM 插件无法在受限用户帐户中加载
【发布时间】:2011-09-28 15:59:20
【问题描述】:

我为 Word 创建了一个工具栏。它是一个 COM 插件,用 C++ 编写。它在 XP 中由管理员帐户启动 Word 时起作用。但是,当 Word 从受限帐户启动时,它甚至都不会加载。我把这段代码放在 DllMain 中:

/////////////////////////////////////////////////////////////////////////////
// DLL Entry Point

HINSTANCE g_hInst = NULL;

extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
    static int passed = 0;
    if (!passed)
    {
        MessageBox(0, "foo", 0, 0);
        passed = 1;
    }

    g_hInst = hInstance;

    ............................
}

从管理员帐户运行 Word 时会显示消息框,但从受限帐户运行时不会显示该消息框。我正在使用 Word 2003 的 XP 机器上对此进行测试。

【问题讨论】:

    标签: c++ windows-xp office-automation comaddin limited-user


    【解决方案1】:

    事实证明,我的插件是在 HKCU 而不是 HKLM 中注册的(这是在 .rgs 文件中)。所以只有进行安装的用户才会注册。这就是 Word 不会为其他用户帐户加载它的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 2013-03-02
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多