C#.NET进程.Start()在运行快捷方式时返回null

C#.NET进程.Start()在运行快捷方式时返回null,c#,.net,process,C#,.net,Process,好吧,我已经解决了我的问题。我正在使用一些软件远程启动本地计算机上的程序。在这样做的过程中,我通过网络发送了一条我希望机器启动的程序路径。它使用Process.Start并存储执行路径。然后,稍后,我重新发送该路径,并告诉它关闭与该路径关联的进程 Process newProcess = Process.Start(startPath); _runningProcesses.Add(new MCProcess(startPath, new Process); 有时,我会使用它来调用一个快捷方式

好吧,我已经解决了我的问题。我正在使用一些软件远程启动本地计算机上的程序。在这样做的过程中,我通过网络发送了一条我希望机器启动的程序路径。它使用Process.Start并存储执行路径。然后,稍后,我重新发送该路径,并告诉它关闭与该路径关联的进程

Process newProcess = Process.Start(startPath);
_runningProcesses.Add(new MCProcess(startPath, new Process);
有时,我会使用它来调用一个快捷方式,之所以使用它是因为我想传递一些命令链接参数

我用它来调用.exe和.lnk(快捷扩展名),程序运行得很好

但是,当传递到快捷方式的路径时,它返回的进程为null!因此,当我将路径发送回以关闭程序时,进程为空,无法关闭程序


有什么解决办法吗?

如果需要使用快捷方式,只需选择快捷方式的目标即可。
向程序传递参数不需要快捷方式,只需执行以下操作:

Process process = new Process();
process.StartInfo.FileName = "\"C:\\my.exe\"";
process.StartInfo.Arguments = "arg1 arg2 arg3";
//...
process.Start();

在命令行中,它看起来像C:\my.exe arg1 arg2 arg3

有什么特别的原因不能调用exe上的命令行参数吗?@Tyrionlanister你能再详细一点吗?我不理解你的困惑。为什么不能将参数传递给exe?@Tyrionlanister请详细说明如何将参数传递给exe?
Process.Start(@“C:\myExe.exe argument1”)?然后我会将args和startPath一起传递吗?