c# - 有没有办法执行以临时文件名存储的 exe?

标签 c#

我正在将作为嵌入式资源存储的 native exe 写入 Path.GetTempFileName 返回的文件中.该功能是可取的,因为它让我忽略了避免竞争条件的实现细节。唯一的缺点是它返回一个扩展名为 .tmp 的文件名。

Process.Start 在我的系统上的记事本中打开 tmp-named-exe 文件。显然,您可以使用 p/invoke 手动指定类和动词(参见 https://stackoverflow.com/a/12681219/521757 )。在我这样做之前,是否有任何方法可以使用 .NET 框架完成同样的事情?

最佳答案

我认为这是可能的.. 在启动进程之前将 Process.StartInfo.UseShellExecute 属性设置为 False,例如:

 System.Diagnostics.Process p = new System.Diagnostics.Process();
 p.StartInfo.FileName = @"c:\tmp\a123.tmp";
 p.StartInfo.UseShellExecute  = false;
 p.Start();

这将直接启动进程,文件本身应被视为可执行文件。它对你有用吗?

关于c# - 有没有办法执行以临时文件名存储的 exe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151149/

相关文章:

c# - 将 wpf 窗口聚焦在快捷键上

c# - 如何通过 FieldInfo.GetValue() 获取 Nullable<T> (而不是基础值)?

c# - ASP.NET Web 服务是否已被 WCF Web 服务取代?

c# - 网络服务发现

c# - 在 WPF C# 中为子窗口禁用捕获屏幕

c# - Azure Functions 是否适合拆分大型处理作业?

c# - 枚举应该以 0 还是 1 开头?

c# - 当调用方法已经拥有同一对象上的锁时,尝试获取该对象上的锁

c# - 使用 Xsd 验证序列化 WCF 代理类中的 Xml 时缺少架构错误

c# - 只能绑定(bind)socket到127.0.0.1