首页 > 代码库 > WPF调用嵌入的非.net的EXE资源文件

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中”。