我正在尝试运行没有" .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
答案 0 :(得分:1)
您的代码实际上是要求操作系统的运行时处理该文件。它使用文件扩展名来确定它应该做什么。例如,将使用Word打开.doc
扩展名(最终,进程处理程序会将文件路径作为参数传递给目标应用程序:winword.exe {filepath}.doc
)。
Windows不知道如何处理.bin
文件,因此它会向您寻求帮助 - 因此程序选择器提示符。
您只能执行可执行文件,只需将文件扩展名更改回.exe
。
你想要阻止什么混乱?例如,如果您试图阻止用户意外运行该应用程序,您是否无法将其移至可能更难找到的其他位置?
如果你真的想把它称为其他东西(这是真的,非常混乱),你可以在运行它之前和之后重命名该文件。但是,我强烈建议你不要这样做,这是非常糟糕的设计!