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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2021-03-20 我要评论
想了解将DLL放入到资源中,运行时自动加载的小例子的相关内容吗,在本文为您仔细讲解将DLL放入到资源中,运行时自动加载的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:DLL,运行,自动加载,下面大家一起来学习吧。

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

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

 

代码如下:

复制代码 代码如下:

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 考勤表生成工具());
    }
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们