gpt4 book ai didi

C# 从字节运行

转载 作者:行者123 更新时间:2023-12-04 00:32:38 24 4
gpt4 key购买 nike

我正在努力让我的客户端通过下载字节并使用反射打开另一个程序来打开它。我目前已经在 C# 控制台应用程序上实现了此操作,但是当我尝试在 Windows 窗体应用程序上执行此操作时,出现此错误。

“调用目标已引发异常。”

这是代码

using System;
using System.IO;
using System.Net;
using System.Reflection;
using System.Text;
private void listBox1_DoubleClick(object sender, EventArgs e)
{
if (listBox1.SelectedItem.ToString() != null)
{
if (MessageBox.Show("Run " + listBox1.SelectedItem.ToString() + "?", "Run this program?", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
byte[] bytes;
using (WebClient client = new WebClient())
{
bytes = client.DownloadData(new Uri("http://example.net/program.exe"));
}
RunFromBytes(bytes);
}
}
}
private static void RunFromBytes(byte[] bytes)
{
Assembly exeAssembly = Assembly.Load(bytes);
exeAssembly.EntryPoint.Invoke(null, null);
}

最佳答案

您必须执行以下操作:

  1. 创建一个新的 application domain
  2. 将字节数组写入文件
  3. 通过ExecuteAssembly执行它

这是代码:

File.WriteAllBytes("yourApplication.exe", bytes);
AppDomain newDomain= AppDomain.CreateDomain("newDomain");
newDomain.ExecuteAssembly("file.exe");

祝你好运!

关于C# 从字节运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4006417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com