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

在C#程序中嵌入外部可执行文件,第1张

在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





欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5567505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存