嵌入资源第二讲:WPF调用嵌入的非.net的EXE资源文件
新建项目如packEXE,添加外部文件f.exe作为嵌入的资源,如图:
添加代码:
using System.Reflection;//++ using System.IO; namespace packEXE { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); //MessageBox.Show(System.IO.Path.GetFileNameWithoutExtension(System.IO.Path.GetTempFileName())); String projectName = Assembly.GetExecutingAssembly().GetName().Name.ToString(); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(projectName + ".f.exe")) { Byte[] b = new Byte[stream.Length]; stream.Read(b, 0, b.Length); string s = System.IO.Path.GetTempPath()+"f.exe"; if (File.Exists(s)) File.Delete(s); using (FileStream f = File.Create(s)) { f.Write(b, 0, b.Length); } } } } }
然后,你就可以随意调用f.exe文件了,用完还可以删掉不留痕迹。(作者:一剑)
当然,如果你是.net的EXE文件,有更简单的方法来嵌入调用,参考“Dll嵌入到WPF中”。