.Net中把图片等文件放入DLL中,并在程序中引用

Unity3d选择本地图片并加载 ①找到System.Windows.Forms.dll:在unity的安装目录中找到它,如                       E:\ProgramFiles(x86)\Unity\Editor\Data\Mono\lib\mono\2.0 ②设置.NET 2.0集:Untiy默认是.NET 2.0 Subset。在Edit->Project Settings->Player->Othe 阅读详情
【摘要】

有时我们需要隐藏程序中的一些资源,比如游戏,过关后才能看到图片,那么图片就必须隐藏起来,否则不用玩这个游戏就可以看到你的图片了,呵呵。
本文就讲述了如何把文件(比如图片,WORD文档等等) 隐藏到DLL中,然后在程序中可以自己根据需要导出图片进行处理。

注:本站原创,转载请注明本站网址:http://www.beinet.cn/blog/


【全文】

第1步:
我们要生成一个资源文件,先把要隐藏的文件放入到这个资源文件中
(资源文件大致可以存放三种数据资源:字节数组、各种对象和字符串)

首先创建一个类的实例:
ResourceWriter rw = new ResourceWriter("MyResource.resources");//括号里是文件名

用ResourceWriter类的AddResource()方法添加资源,有三个重载:
public void AddResource(string, byte[]);
public void AddResource(string, object);
public void AddResource(string1, string2);
前面的string是放入资源文件后的标识符,第二个参数就是要放的具体资源了。

资源添加后,调用ResourceWriter类的Generate()方法,就可以产生一个资源文件
 
详细代码如下(代码名为:Res.cs):

using System;
using System.Resources;
using System.Drawing;

namespace test{
  class test{
    static void Main(){
      Console.Write("aaa");
      ResourceWriter rw = new ResourceWriter ( "MyResource.resources" ) ;
     
      rw.AddResource("rsTest","Heool Word");
     
      Icon ico = new Icon ( ".ico" ) ;
      rw.AddResource("ico",ico);
     
      Image img = Image.FromFile ("3.jpg") ;
      rw.AddResource("img",img);
     
      rw.Generate ( ) ;
    }
  }
} 

调用CSC res.cs, 生成EXE文件,再运行res.exe执行,就可以得到MyResource.resources文件了。

第2步:
下面就是要把生成的资源文件嵌入到最后生成的程序中,嵌入程序的编译命令:

csc /res:MyResource.Resources /target:winexe yourProgram.CS

然后就可以在WinForm中引用这个资源文件中的对象了,首先:

System.Resources.ResourceManager resMan = new ResourceManager ( "MyResource" , System.Reflection.Assembly.GetExecutingAssembly() );

生成这个文件的引用,"MyResource"是资源文件的文件名,必须以resources为扩展名。

接着在程序里:

string getFromRS = (string)resMan.GetString("rsTest"); //获取资源文件中的字符串

System.Drawing.Icon GetIcon = (System.Drawing.Icon)resMan.GetObject("ico"); //获取资源文件中的图标

System.Drawing.Image GetIcon = (System.Drawing.Image)resMan.GetObject("img"); //获取资源文件中的图片

取出资源文件中的内容,就可以直接使用了。
这样可以把一些内容或对象直接附加到EXE或DLL中,达到保密,或减少文件个数的目的。

 
将文件嵌入到.NET程序集中的EmbeddedFile 在.NET开发中,嵌入文件到程序集中是一种常见的技术,它允许开发人员将文件(如图像、文本文件或其他资源)直接包含在生成的程序集中。一旦文件添加到项目中,我们可以通过设置文件的"Build Action"属性为"Embedded Resource"来指示编译器将其嵌入到程序集中。在上面的示例中,我们首先获取当前执行的程序集,然后指定嵌入文件的命名空间和文件名。要成功运行这个示例,确保将文件的"Build Action"属性设置为"Embedded Resource",并且命名空间与代码中指定的命名空间一致。 阅读详情

相关推荐

VB.Net文件传输类(DLL)

使用Socket+Thread+TCP+传输算法+分包传输。集成Server(接收端)和Client(发送端)封装成类库DLL。使用时引用-实例化New之后,使用提供属性和过程,一键发送和快速接收文件 相关属性和方法见: http://hi.baidu.com/lipeiyi2006/blog/item/d41a83efe07ef038adafd55a.html

.Net中对资源文件的获取(获取嵌入到程序中的图片资源)

    .Net中对资源文件的控制可以通过System.Reflection中所对应的类实现,我在这里跟大家介绍一个使用System.Reflection.Assembly获取集成在程序当中的图片资源的方法。    首先你需要在你的项目中添加入一个图片,方法如下:在“项目”菜单下,点击“添加现有项”,然后将文件类型筛选下拉框选择为“所有文件(*.*)”,现在可以选择一个你要加入到资源中的图片了。加

EricBai的专栏 3938

Kindle使用USB数据线传书封面无法显示问题

不建议按这个解决封面问题,首先USB多次插拔麻烦,其次就是我起初按博主方法没啥问题,后面无论我怎么个顺序都出现了‘暂无图片’,我的建议是在亚马逊退出国内只能USB传书的情况下,下载一个calibre 和。飞行模式下用calibre传书到kindle ,然后用Fix Kindle Ebook Cover 修复一下,后面你要继续飞行模式还是连网随你便,两步完事。2,‘’发送到设备’的时候也最好选择 ‘发送特定格式至’ 选择具体的电子书格式,你的电子书是azw3就选azw3,是mobi就选mobi。

meser88的博客 7416

C# 图片打包成DLL文件进行调用

图片打包成DLL文件进行调用

weixin_45053845的博客 2320

解密微信DAT图片:一键转换JPG/PNG/GIF的实用指南

本文详细解析微信DAT图片的加密机制及转换方法,提供从定位文件到使用WeijieSoft工具一键转换JPG/PNG/GIF的完整指南。涵盖新旧版微信存储路径差异、批量处理技巧及常见问题解决方案,帮助用户高效恢复重要图片并释放存储空间。

weixin_29305337的博客 3085

pcle接口详解&用途说明

它原来的名称为“3GIO”,由英特尔在2001年提出。pcel x16插槽 用途用于显卡、RAID阵列卡,向下兼容PCIE x1/x4/x8/x16。(PCIE x16插槽长89mm,有164根针脚,靠主板外侧端有一卡口,将16x分为前后两组,短插槽有22根针脚,主要用于供电,长插槽142根,主要用于数据传输,具有16通道所带来的高带宽)PCI-E x8插槽插槽用途:全长56mm,有98根针脚,与PCI-E x16比较,主要是数据针脚减少至76根,短的供电针脚仍然是22针脚。

qq_43289307的博客 1万+

DLL嵌入图片资源

第一步:创建一个项目(工程) 命名随便自己 之后找到AssemblyInfo.CS文件,在这个文件里添加资源文件。添加到文档最尾部如下代码 [assembly:WebResource( " ClassLibrary1.JScript1.js " , " application/x-javascript " )] 里面的ClassLibrary1是工程的命名空间,如果没有命名空...

weixin_30668887的博客 391

CAPL编程入门:从零开始掌握汽车通信脚本语言

本文详细介绍了CAPL编程的基础知识,从开发环境搭建到核心语法精要,再到总线通信实战和高级调试技巧。CAPL作为汽车通信脚本语言,专为CAN、LIN等网络协议设计,帮助工程师高效完成车载网络测试。通过实战案例和性能优化建议,读者可以快速掌握CAPL编程技能。

s1t2u3的博客 978

C#资源文件的使用方法

一、导言microsoft的.net从2002年1月15日第一版发布到今天,已经得到了广泛的使用;从刚推出时国内相关书籍种类寥寥,到今天.net的相关书籍的大大丰富,已有越来越多的人——初学者或者有经验的程序员,在学习、应用.net。本文面向对.net有些了解的者,以c#为例,介绍如何在.net编程环境中,把资源文件(如包含图片、字符串等的资源文件)嵌入到程序集中。这里的所说的程序

weajan的专栏 5435

网安保研避坑指南:中科院信工所各研究室真实体验与导师选择建议

本文为中科院信工所网络安全保研生提供深度指南,详细解析了信工所六个研究室的研究方向、真实氛围与导师选择策略。文章特别强调,选择导师是决定研究生体验的关键,并提供了针对各研究室的避坑建议与实战调研方法,帮助学生做出明智选择。

weixin_29210727的博客 1574

第一章 千牛实时获取消息之ws服务端搭建

以上就是今天要讲的内容,本文仅仅简单介绍了ws服务端的搭建,后面将介绍ws客户端的搭建和配合ws服务器的测试。

不想说话的树专栏 1823

在DLL组件中附加图片等资源,并在程序中引用_2

生成资源文件后,然后要把资源文件嵌入到最后生成的程序中,嵌入程序的编译命令:csc /res:MyResource.Resources /target:winexe yourProgram.CS 然后就可以在WinForm中引用这个资源文件中的对象了,首先:System.Resources.ResourceManager resMan = new ResourceManager ( ...

北亮的专栏 2223

XLSX Workbench 在 ABAP 世界的定位与实战:从概念到完整示例

XLSX Workbench 在可视化、易维护与批量后台生成三方面填补了 ABAP 报表到 Excel 的空白。它与官方类及社区明星 abap2xlsx 形成了“模板驱动、代码驱动、二者兼顾”的互补格局。掌握 Workbench 后,开发者能把精力集中在业务逻辑以及数据质量,而把排版细节交给图形化工具,大幅加速交付与迭代。通过本文提供的示例,你可以立即在项目中落地并尝到效率提升的红利。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 520

C# 如何把动态链接库DLL文件打包进去EXE文件里面

第一步:引用 先引用你的宝贝库DLL: 第二步:创建Resourses文件夹 一般来说往Rex文件添加一张图片或者文本文件就能引诱他自动创建的。 第三步:引入DLL作为资源文件 此时,得到: 然后,点击他,更改类型,非常重要此步!!!! 改成嵌入的资源 第四步:写代码 创建一个DLLClass类 using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Syste

晋图的非正常人类胡言乱语集合 3329

OpenCV计算机视觉实战(11)——边缘检测详解

在本节中,我们系统介绍了三大经典边缘检测算子,包括 Sobel 算子:一阶导数平衡了噪声抑制与边缘提取,结合方向信息可用于纹理分析与车道检测;Laplacian 算子:二阶导数对微小亮度突变尤为敏感,配合零交叉和细化技术,可精确捕捉任意方向的细节边缘;Canny 算法:集成多阶段处理与双阈值策略,通过多尺度融合与自适应阈值优化,达到抗噪与细节兼顾的卓越效果。

qq_30167691的博客 4374

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

asp.net引用类库dll文件

转载自:http://jingyan.baidu.com/album/76a7e409ddb05dfc3b6e151f.html vs2015编程环境下的asp.net引用类库dll文件,这个dll文件时自己编写的图片处理类库文件 1.用asp.net新建一个网站,取名叫web,新建一个演示用的image.aspx窗体,从工具栏拖一个按钮,一个图片控件,因为引用的是一个图片处理的类库dll

游子的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

vb.net调用matlab,VB.NET 调用MATLAB的M文件(生成COM控件)

一.版本说明:VS2008,MATLAB2010b二、安装MCRInstaller在路径C:\Program Files\MATLAB\R2010b\toolbox\compiler\deploy\win32下三、在MATLAB命令窗口中配置环境1.输入:mbuild –setup出现以下界面,我选择的是[2]自己的编译器,不是MATLAB自带的。2.打开下图3.然后弹出以下对话框名字自己命,我的...

weixin_35356909的博客 893

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

.NET PDF转图片

 VB.NET PDF转图片 该方法引用了第三方的dll 首先需要添加引用O2S.Components.PDFRender4NET.dll [vb] view plaincopyprint? Imports O2S.Components.PDFRender4NET   Imports O2S.Components.PDFRender4NET

liuchuan__________的博客 5569
上一篇: 用C#实现木马程序
下一篇: ASP.NET用户控件说明和添加事件
jackeyabc
博客等级 码龄20年 71粉丝 297原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值