将DLL放入到资源中,运行时自动加载的小例子
将DLL放入到资源中,运行时自动加载的小例子
发布时间:2016-12-28 来源:查字典编辑
摘要:今天在看到一个小软件,考勤用的AttendanceSheet_V_1_2,只有一个EXE文件,绿色的随便考到哪里都可以运行。顺手反编译后发现...

今天在看到 一个小软件,考勤用的 AttendanceSheet_V_1_2,只有一个EXE文件,绿色的随便考到哪里都可以运行。

顺手反编译后发现,他将需要的DLL也放入到资源文件了,在启动的时候自动加载:

将DLL放入到资源中,运行时自动加载的小例子1

代码如下:

复制代码 代码如下:

internal static class Program

{

// Methods

[STAThread]

private static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

AppDomain.CurrentDomain.AssemblyResolve += delegate (object sender, ResolveEventArgs senderArgs) {

Assembly executingAssembly = Assembly.GetExecutingAssembly();

string name = new AssemblyName(executingAssembly.FullName).Name;

string str2 = new AssemblyName(senderArgs.Name).Name;

string str3 = name + "." + str2 + ".dll";

using (Stream stream = executingAssembly.GetManifestResourceStream(str3))

{

byte[] buffer = new byte[stream.Length];

stream.Read(buffer, 0, buffer.Length);

return Assembly.Load(buffer);

}

};

Application.Run(new 考勤表生成工具());

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类