Process.Start失败没有" .exe"延期

时间:2015-03-15 00:48:05

标签: vb.net process.start

我正在尝试运行没有" .exe"的可执行文件。扩展,当我试图运行我的" .bin"文件(实际上它是.exe但我用.bin重命名以防止混淆)它向我展示程序选择器窗口。

我该如何避免?

    If File.Exists("client.bin") Then
        Process.Start("client.bin", param)
        delay(100)
        Terminate()
    Else
        MsgBox(Lang(6), MsgBoxStyle.Critical, TITLE)
        Terminate()
    End If

1 个答案:

答案 0 :(得分:1)

您的代码实际上是要求操作系统的运行时处理该文件。它使用文件扩展名来确定它应该做什么。例如,将使用Word打开.doc扩展名(最终,进程处理程序会将文件路径作为参数传递给目标应用程序:winword.exe {filepath}.doc)。

Windows不知道如何处理.bin文件,因此它会向您寻求帮助 - 因此程序选择器提示符。

您只能执行可执行文件,只需将文件扩展名更改回.exe

你想要阻止什么混乱?例如,如果您试图阻止用户意外运行该应用程序,您是否无法将其移至可能更难找到的其他位置?

如果你真的想把它称为其他东西(这是真的,非常混乱),你可以在运行它之前和之后重命名该文件。但是,我强烈建议你不要这样做,这是非常糟糕的设计!