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

问题描述

| 有没有一种方法可以通过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 );
    

解决方法

您能发布一些代码吗?这样的事情应该起作用:
Process proc = new Process();
proc.StartInfo.FileName = @\"c:\\myShortcut.lnk\";
proc.Start();
    ,问题在于设置
UseShellExecute = false
。一旦删除它,它便停止崩溃。     ,如果您使用UseShellExecute = false并尝试启动批处理文件,请确保将.bat添加到文件名的末尾。如果UseShellExecute = true,则不需要.bat。这让我只浪费了一个小时的工作……希望能救别人。     ,如果您的文件是EXE或其他文件类型,例如\“。exe \”或\“。mkv \”或\“。pdf \”,并且您想使用快捷方式链接来运行该文件,则您的代码必须像这样。 我想运行\“ Translator.exe \”程序。
Process.Start(@\"C:\\Users\\alireza\\Desktop\\Translator.exe.lnk\");