通常在快捷目标中使用参数启动程序

本文关键字:参数 启动 程序 目标 | 更新日期: 2023-09-27 18:03:51

我想通过提供参数来启动一个进程(不确定这些是否可以称为"参数"…见下文)。这里有点特殊:

  • 过程是一个GUI(游戏-使命召唤4多人),
  • 我有一个Windows快捷方式到这个GUI与以下目标:"C:''Path To Game''game.exe" + connect [serverip](注意+)。当我启动这个快捷方式时,GUI启动并执行参数 connect [serverip](游戏实际启动并连接到服务器)。

我试了如下:

  1. Process.Start("C:''Path To Game''game.exe + connect [serverip]");

    但是这显然以Win32Exception "The system cannot find The file specified"结束。

  2. var psi = new ProcessStartInfo();
    psi.FileName = "C:''Path To Game''game.exe";
    psi.Arguments = "+ connect [serverip]";
    Process.Start(psi);
    

    ,这会在GUI中产生错误(游戏没有启动并显示"WIN_IMPROPER_QUIT_BODY")。

任何想法如何提供这些参数到我的进程?

通常在快捷目标中使用参数启动程序

你是否需要为游戏设置WorkingDirectory

string exePath = "C:''Path To Game''game.exe";
var psi = new ProcessStartInfo();
psi.FileName = exePath;
psi.Arguments = "+ connect [serverip]";
psi.WorkingDirectory = Path.GetDirectoryName(exePath);
Process.Start(psi);

选项2是去那里的方式,但你的'+'发生了什么?它不是一个特殊的字符,它只是传递给命令,所以你需要把它包含在psi的开头。参数。

你必须使用:

psi.Arguments = "+connect [serverip]";

(+connect之间没有空格)。