【问题标题】:Process.Start does not recognize my executable file?Process.Start 无法识别我的可执行文件?
【发布时间】:2010-10-27 11:57:18
【问题描述】:

目前我正在使用下面的代码来启动我的应用程序(正在运行)

ProcessStartInfo myApp = new ProcessStartInfo();
myApp.FileName = "cmd.exe";
myApp.Arguments = @"/K D:\dir\file.bin additional args to raise app";
myApp.WindowStyle = ProcessWindowStyle.Hidden;
myApp.CreateNoWindow = true;

try
{
    Process.Start(myApp);
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

但如果可能的话,我想直接调用它,但由于它是任何应用程序都无法识别的 .bin 扩展名(例如 txt 是记事本) Process.Start 不会启动除非我使用 cmd 调用它

我还有什么其他方法可以直接启动我的应用程序而不必从 cmd 调用它?

我也可以用 begin > run 来启动它:

start D:/my/path/file.bin additional args to raise app

【问题讨论】:

  • 您是否尝试过在您的应用程序路径中使用 `\`?
  • 为什么您要运行的文件首先具有“bin”扩展名?
  • 它不是我创建的文件,但扩展名是.bin,上面的代码工作得很好我只是不喜欢打开的dos窗口,想知道是否有不同的方式在不使用 cmd 的情况下打开它
  • @everyone 发表了意见,非常感谢你试图帮助我,所以我给答案 +1 并尝试/考虑过。

标签: c#


【解决方案1】:

1) 您不必提供 cmd.exe 的完整路径。系统将能够找到它

2) 您似乎正在尝试使用参数运行 cmd.exe 以运行您的 bin 文件。这行不通。

3) 什么是 bin 文件?您可以将默认应用程序分配给 .bin 文件类型。或者,使用 ProcessStartInfo 启动应用程序运行器并传递您的 .bin 文件。

4) 不确定是否所有应用程序都愿意使用“/”而不是“\”。

【讨论】:

  • 2) 工作得很好,就像我上面说的第一个代码工作但我不想使用 CMD 打开我想直接启动它的应用程序,就像我说的那样。 3) bin 文件不是我制作的,它是可执行文件或类似的东西,我很简单地尝试制作一个程序,一旦完成一些事情,它就会运行 bin 程序。
  • 4) 同意,所以我改用 @"" 并改用 \。
【解决方案2】:

嗯,这很奇怪。如果文件实际上是可执行文件,则将文件重命名为 .exe 似乎是较低的油漆点。尝试 cmd.exe /c start /wait d:/my/path/file.bin 参数。

【讨论】:

  • 如果我将它重命名为 .exe,程序将无法运行,它已编译但我可以告诉它有更改验证,所以我必须按原样运行它。通常我只有一个 .bat 来运行它,但现在我正在制作一个应用程序来运行一些东西,然后再实际运行该软件,我想在应用程序中完成所有操作,而不需要任何 bat 或外部东西来使其工作。
【解决方案3】:

您是否尝试过设置...?

myApp.UseShellExecute = true;

...并使用 .bin 文件作为文件名?

【讨论】:

  • 刚试过它返回没有与此扩展相关的应用程序或类似的东西,因为我的 VS 在不同的语言中,我必须将错误转换为它的样子。
【解决方案4】:

尝试将 ShellExecute 设置为 false。我用这个,

Process proc = new Process();
proc.StartInfo.FileName = "app.bin";
proc.StartInfo.Arguments = "-1 -a -b";
proc.StartInfo.UseShellExecute = false;

它有效。

你也可以在 StackOverflow 上看到这个帖子,Run external application with no .exe extension

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 2019-07-30
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多