日期:2014-05-18  浏览次数:20944 次

C# 如何调用嵌入DLL
把dll文件放到资源文件
如何调用dll中的函数?

------解决方案--------------------
如果是非托管的DLL 如win32的API等 以调用API的FindWindow为例, 可以这样写:
using System.Runtime.InteropServices;

[DllImport("User32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

如果是托管的DLL 即.net生成的dll 则添加引用后就可以直接用了 点不出来的using 一下你dll里面的名空间即可。
如果不想+引用,可以用映射的方法也可以调用托管的dll 偷懒的写了一下,如下
Assembly assembly = Assembly.LoadFrom("xxx.dll");
Type[] type = assembly.GetTypes();
MethodInfo mi = type[0].GetMethod("functionName");
if (null != mi)
{
object obj = Activator.CreateInstance(type[0]);
object[] objs = new object[0];
mi.Invoke(obj, objs);
}