您好 我有一个在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;
}
日Thnx
答案 0 :(得分:3)
您应该能够直接向DLL项目添加对DLL的引用 - 将创建一个包装器,您可以调用将委派给COM组件的包装器方法。