【问题标题】:How can I call a COM-DLL from C# application?如何从 C# 应用程序调用 COM-DLL?
【发布时间】:2011-05-04 11:44:14
【问题描述】:

嗨 我有一个用 ATL 实现的 COM DLL,现在我想用 C# 开发一个测试 exe 来测试这些功能。

如何从 C# 应用程序调用 COM-DLL?

我已经使用 LoadLibrary() 进行了测试,但 AFAIK 这是针对 Win32 本机 DLL 的。另外我不确定在 LoadLibrary() 的某个地方调用了 CoCreateInstance 吗?

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
  static extern IntPtr LoadLibrary(string lpFileName);

        private int LoadDLL()
        {
            dllPath = lblDllPath.Text;
            int i_hmod = 0;
            IntPtr hMod = LoadLibrary(dllPath);
            i_hmod = hMod.ToInt32();
            if (i_hmod > 0)
            {
                txtOutput.Text += "Dll successfully loaded\r\n";
            }
            else
            {
                txtOutput.Text += "LoadLibrary failed\r\n";
            }
            return i_hmod;
        }

谢谢

【问题讨论】:

    标签: c# com


    【解决方案1】:

    您应该能够简单地将对 DLL 的引用直接添加到 .NET 项目 - 将创建一个包装器,您可以调用将委托给 COM 组件的包装器方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 2011-05-26
      • 2012-04-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      相关资源
      最近更新 更多