把DLL文件打包进EXE的技巧(C#)

废话就不多说了,直接进入主题吧

用VS2005建立一个windows项目,取名test

引用dll文件

编写代码,正常引用dll里的类库,

同时在test项目添加资源文件(该文件就是刚才引用的dll文件)

VS2005会自动生成引用代码,我这里引用的是IrisSkin2.dll

internal   static   byte [] IrisSkin2  {
            
get {
                
object obj = ResourceManager.GetObject("IrisSkin2", resourceCulture);
                
return ((byte[])(obj));
            }

        }

然后在Main(program.cs)函数里加入代码

 

static   void  Main()
        
{
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(
false);

            
string path = Application.StartupPath + "/";
            
string dllFileName = "IrisSkin2.dll";
            
//******加载IrisSkin2.dll******
            if (!File.Exists(path + dllFileName))   //文件不存在
            {
                FileStream fs 
= new FileStream(path + dllFileName, FileMode.CreateNew, FileAccess.Write);
                
byte[] buffer = GetData.Properties.Resources.IrisSkin2;
                fs.Write(buffer, 
0, buffer.Length);
                fs.Close();
            }

            
//*****************************
            
            Application.Run(
new GDForm());
        }

编译test项目,生成exe文件,

然后删除引用的dll文件(注意是先编译,再删除)

复制该exe文件就可以在别的地方运行了(不用dll,运行EXE会自动生成DLL文件)

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
将 C 语言编写的 DLL 文件打包 EXE 文件,可以通过以下步骤实现: 1. 首先,需要创建一个用于打包 DLL 的 C 语言项目。在 Visual Studio 中选择新建项目,选择 C 语言项目模板,并添加你的功能代码。 2. 在项目中将功能代码封装为一个 DLL,可以使用动态链接库生成器来创建 DLL 文件。在 Visual Studio 创建项目后,选择“文件”->“新建”->“项目”->“Visual C++”->“动态链接库 (.dll)”,然后按照向导的步骤行设置。 3. 在 DLL 项目中,将所有的功能代码写在 DLL 动态链接库的导出函数中,并且需要将这些函数在 .def 文件行导出声明。在导出函数中,可以通过动态链接库提供的接口来获取和使用 DLL 提供的功能。 4. 在主 EXE 项目中,添加对 DLL 的引用。在 Visual Studio 中选择主 EXE 项目,右键点击“引用”,选择“添加引用”,然后浏览到 DLL 项目的输出目录,选择 DLL 文件添加到引用中。这样主 EXE 项目就可以使用 DLL 提供的功能了。 5. 当主 EXE 项目构建并运行时,系统会自动加载和链接 DLL 文件,以便在主程序中使用 DLL 提供的功能。 通过上述步骤,我们可以将 C 语言编写的 DLL 文件打包 EXE 文件,并且在主程序中使用 DLL 的功能。这样做的好处是可以将代码和资源集中在一个 EXE 文件中,方便分发和部署。另外,也可以通过将 DLL 文件打包 EXE,提高一些信息的隐藏性和保密性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值