使用Process.Start C#通过快捷方式运行应用程序

use*_*939 10 c# shortcut

有没有办法通过C#应用程序的快捷方式运行应用程序?

我试图从我的C#应用​​程序运行.lnk.快捷方式包含大量参数,我更希望应用程序不必记住.

尝试通过Process.Start运行快捷方式会导致异常.

谢谢

编辑:

例外是"Win32Exception":"指定的可执行文件不是有效的Win32应用程序."

这是(缩写)代码:

ProcessStartInfo info = new ProcessStartInfo ( "example.lnk" );
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardError = true;
info.RedirectStandardOutput = true;
info.RedirectStandardInput = true;
Process whatever = Process.Start( info );
Run Code Online (Sandbox Code Playgroud)

key*_*rdP 17

你能发贴一些代码吗?这样的事情应该有效:

Process proc = new Process();
proc.StartInfo.FileName = @"c:\myShortcut.lnk";
proc.Start();
Run Code Online (Sandbox Code Playgroud)


use*_*939 8

设置UseShellExecute = false是问题所在.一旦我删除它,它就会停止崩溃.

  • 现在这一点更加重要,因为 .NET core 已将此属性的默认值更改为 false。当我根本没有设置这个属性时,我就遇到了这个问题。 (2认同)