我可以使用以下方法运行.net exe:

  Assembly a = Assembly.Load(bytes);
MethodInfo method = a.EntryPoint;
if (method != null)
    method.Invoke(a.CreateInstance(method.Name), null);


如何为非.NET exe做同样的事情?我不想编写.exe文件并像Process.Start()一样运行

我该怎么做?

最佳答案

如果程序是非托管代码,例如C或C ++程序,则不能直接从.Net内存中启动它。您可以做的是将其打包为资源,将其流式传输到磁盘(临时文件夹),然后使用System.Diagnostics.Process类启动它。但是它将显示在进程列表中。

如果您的程序是dll,则可以使用p / invoke执行其入口点方法。

07-28 01:38
查看更多