首页 > 解决方案 > 注册 COM dll 时是否可以执行任意 C# 代码?

问题描述

我正在尝试将 C++ 编写的Windows IME 示例移植到 C#/.NET Core 3 中。

C++ 示例有一个全局 DllRegisterServer 函数,它将被调用regsvr32

STDAPI DllRegisterServer(void)
{
    if ((!RegisterServer()) || (!RegisterProfiles()) || (!RegisterCategories()))
    {
        DllUnregisterServer();
        return E_FAIL;
    }
    return S_OK;
}

这里,RegisterServer()与 COM 注册有关,其他将样本注册为 IME。.NET Core 3 中的 COM shim自动为我执行前者,但我不确定如何在 C# 中调用其他人。

注册 dll 时是否可以执行任意 C# 代码regsvr32,以便我可以将我的 dll 注册为 IME?

标签: .net-corecom

解决方案


推荐阅读