1、选中附件,右键生成操作选择  嵌入的资源,例如:handle.exe

2、FileUtil

 1 using System.IO;
2 using System.Reflection;
3
4 namespace ResourceOccupancyHelp
5 {
6 public class FileUtil
7 {
8 /// <summary>
9 /// 从资源文件中抽取资源文件
10 /// </summary>
11 /// <param name="resFileName">资源文件名称(资源文件名称必须包含目录,目录间用“.”隔开,最外层是项目默认命名空间)</param>
12 /// <param name="outputFile">输出文件</param>
13 public static void ExtractResFile(string resFileName, string outputFile)
14 {
15 BufferedStream inStream = null;
16 FileStream outStream = null;
17 try
18 {
19 Assembly asm = Assembly.GetExecutingAssembly(); //读取嵌入式资源
20 inStream = new BufferedStream(asm.GetManifestResourceStream(resFileName));
21 outStream = new FileStream(outputFile, FileMode.Create, FileAccess.Write);
22
23 byte[] buffer = new byte[1024];
24 int length;
25
26 while ((length = inStream.Read(buffer, 0, buffer.Length)) > 0)
27 {
28 outStream.Write(buffer, 0, length);
29 }
30 outStream.Flush();
31 }
32 finally
33 {
34 if (outStream != null)
35 {
36 outStream.Close();
37 }
38 if (inStream != null)
39 {
40 inStream.Close();
41 }
42 }
43 }
44 }
45 }

3、调用demo

FileUtil.ExtractResFile("ResourceOccupancyHelp.handle.exe", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "handle.exe"));

特别注意,生成的exe需要用命名空间最前缀,如果有文件夹的话也需要完整加上。

备份一个有的时候,可能需要把其它exe或者dll包含在主程序中....的更多相关文章

  1. 使用Visual studio查看exe或DLL文件的依赖项

    事先准备:只要 Visual Studio 任何版本即可. 点击开始 -> 程序 -> Visual Studio对应的版本,打开Visual Studio Tools -> 选择 ...

  2. shell实现自动备份整个数据库,一个库备份一个文件

    自动实现备份整个数据库 实现一个库备份一个文件 实现排除不需要备份的库 实现备份成压缩文件 实现定义保留多少天的备份文件 核心代码 #!/bin/bash #set -x ############## ...

  3. C# 获取exe、dll中的图标,支持获取256x256分辨率

    在网上找过许多文章,都没有成功获取过大图标,只能获取最大32x32.最后自己尝试了相关的windows api,终于找到一个可用的. 主要用到的C++的PrivateExtractIcons函数,具体 ...

  4. 如何判断exe或dll的目标平台及是否是.NET?

    1. COFF文件头中偏移0处的Machine指示目标机器类型(IMAGE_FILE_MACHINE_AMD64等),偏移18处的Characteristics位指示文件属性(IMAGE_FILE_3 ...

  5. 如何用VS调试不属于解决方案的EXE和DLL程序

    如果你手里有一个现成的EXE, 以及EXE相关联PDB文件, 还有相关联的CPP文件和H文件. 你如何用VS调试? (当然你可以选择WinDbg.不过这里就讨论VS) 你或许想问我干嘛不从一开始就用V ...

  6. PE头的应用---插入代码到EXE或DLL文件中

    三.代码实现(DELPHI版本),采用第三种方式实现代码插入. 1. 定义两个类,一个用来实现在内存中建立输入表:一个用来实现对PE头的代码插入. DelphiCode: const MAX_SECT ...

  7. Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)

    转自:http://www.stardrad.com/blog/qt-5%E7%A8%8B%E5%BA%8F%E5%9C%A8windows%E4%B8%8A%E7%9A%84%E5%8F%91%E5 ...

  8. 动态加载EXE和DLL

    程序中加载了一个DLL文件,但生成的EXE在脱离了DLL文件后仍然可以 单独使用,这是动态加载DLL技术.即:调用资源中的DLL. 此技术的好处:EXE可以使用DLL中的函数,但不会额外增加一 个DL ...

  9. Windows 下 exe 服务注册到 service 服务中

    window 下注册 exe 程序.添加到 服务中. window 注册服务方式 一. regsvr 方式 直接在 程序目录执行: Regsvr 32 命令是Windows中控件文件 ( 如扩展名为D ...

  10. 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术

    目录 (一)起因 (二)混合自旋锁 (三)q3.h 与 RingBuffer (四)RingQueue(上) 自旋锁 (五)RingQueue(中) 休眠的艺术 (六)RingQueue(中) 休眠的 ...

随机推荐

  1. TiDB体系架构

    本文分享自天翼云开发者社区<TiDB体系架构>,作者:x****n 如图所示,TiDB体系中三大组成部分:PD.TiDB Server.TiKV 1.PD:负责产生全局的TSO时间.控制R ...

  2. 天翼云重磅升级边缘WAF能力,助力企业高效应对Web安全威胁!

    "2022年,网络高危漏洞数量同比增长了13%:Q2遭受攻击的API数量月均超过了25万:物联网的普及大大降低了DDoS的攻击成本,大流量攻击指数显著提升:恶意Bot流量仍在持续增长,202 ...

  3. Linux安装hive

    1.需要先安装hadoop以及mysql,参考其他文章 安装hive和hadoop都在hadoop用户目录下 2.安装hive,之前,先在mysql上创建一个hive,数据库,并在hive数据库中建立 ...

  4. 【技术美术】GPU渲染管线笔记

    [技术美术]GPU 渲染管线笔记 基本术语 基元.图面: 网格中所使用的顶点数据布局,常见的如点.线.三角面等,特殊的甚至包括一些带邻近基元的基元类型. 参数语义 语义是附加到着色器输入或输出参数的字 ...

  5. XYBot:一款功能强大的微信机器人,超多插件等你来玩

    想象一下,拥有一个全能的微信机器人,它能帮你查天气.找新闻,甚至陪你聊天,这一切都不再是梦!XYBot,一款基于docker和pywxdll hook注入技术的微信机器人,让你的微信生活更有趣.更便捷 ...

  6. Azure Databricks - [02] 常用SQL

    查看当前所在catalog:select current_catalog(); 创建catalog:create catalog if not exists harley_test; 创建表 crea ...

  7. 大数据之路Week10_day01 (通过直接创建Hfile文件的方式往Hbase中插入数据)

    package com.wyh.parctise; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.P ...

  8. 使用cy7c68013调试mt9v011 ov7670 摄像头测试 icamera视频采集调试

    使用cy7c68013调试mt9v011  ov7670 摄像头测试  icamera视频采集调试 采集底板选用cp601d,原理图参考icamera设计,使用cy7c68013a芯片设计,固件刷ic ...

  9. redmine 用户没有状态内容

  10. postman 如何比较两台电脑的脚本是否一样