0

我为 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 机器上对此进行测试。

4

1 回答 1

0

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

于 2011-09-29T08:37:33.387 回答