2010-11-03 104 views
1

嗨 我有一个COM DLL在ATL中实现,现在我想在C#中开发一个测试exe来测试这些功能。如何从C#应用程序调用COM-DLL?

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

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

[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; 
     } 

日Thnx

回答

3

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

相关问题