C# 如何调用嵌入DLL

bingbingliangliang 2007-10-22 11:06:54
把dll文件放到资源文件
如何调用dll中的函数?
...全文
712 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsslu 2007-10-25
  • 打赏
  • 举报
回复
如果是非托管的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);
}
纷享刘晨 2007-10-25
  • 打赏
  • 举报
回复
引用或者dllimport

为什么要藏起来呢?
flyingfz 2007-10-25
  • 打赏
  • 举报
回复
mark
renzhe02 2007-10-25
  • 打赏
  • 举报
回复
引用或者dllimport
3000sunqin 2007-10-22
  • 打赏
  • 举报
回复
你可以使用反射技术来动态加载Dll,这样就不存在发布的问题了.
bingbingliangliang 2007-10-22
  • 打赏
  • 举报
回复
我是想把dll文件放到 资源文件中
直接从资源文件用dll 不把它放在程序的文件路径下

如果直接引用的话每次发布程序都要带着它
conannb 2007-10-22
  • 打赏
  • 举报
回复
若是非托管代码生成的dll
用dllimport引用
yqlvcxl_2007 2007-10-22
  • 打赏
  • 举报
回复
右键点击references---> add reference---->browse-->xx.dll
在程序中引用该dll;
然后就可以直接使用了
seamanhy 2007-10-22
  • 打赏
  • 举报
回复
先添加你这个dll的引用,using 类名
然后应该可以直接使用了
bingbingliangliang 2007-10-22
  • 打赏
  • 举报
回复
会的同志们帮帮忙
  • 打赏
  • 举报
回复
建议楼主还是引用的方法!!程序打包的时候直接全都打里面了!
把简单问题想复杂了,太累!
bingbingliangliang 2007-10-22
  • 打赏
  • 举报
回复
使用反射技术来动态加载Dll 如何实现?

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧