栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在C#程序中嵌入外部可执行文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在C#程序中嵌入外部可执行文件

这是一些可以大致完成此操作的示例代码,减去任何形式的错误检查。另外,请确保要嵌入的程序的许可证允许这种使用。

// extracts [resource] into the the file specified by [path]void ExtractResource( string resource, string path ){    Stream stream = GetType().Assembly.GetManifestResourceStream( resource );    byte[] bytes = new byte[(int)stream.Length];    stream.Read( bytes, 0, bytes.Length );    File.WriteAllBytes( path, bytes );}string exePath = "c:tempembedded.exe";ExtractResource( "myProj.embedded.exe", exePath );// run the exe...File.Delete( exePath );

唯一棘手的部分是为的第一个参数获取正确的值

ExtractResource
。它的格式应为“
namespace.name”,其中名称空间是项目的默认名称空间(在“项目” |“属性” |“应用程序”
|“默认名称空间”下查找)。第二部分是文件的名称,您需要将其包括在项目中(确保将构建选项设置为“嵌入式资源”)。如果将文件放在目录(例如资源)下,则该名称将成为资源名称的一部分(例如“
myProj.Resources.Embedded.exe”)。如果遇到问题,请尝试在Reflector中打开已编译的二进制文件,然后查看Resources文件夹。此处列出的名称是您将传递给的名称
GetManifestResourceStream





转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/576280.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号