使用Process.Start通过快捷方式运行应用程序C#
有没有办法通过C#应用程序的快捷方式运行应用程序?使用Process.Start通过快捷方式运行应用程序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);
设置UseShellExecute = false
是问题。一旦我删除它,它停止崩溃。
你能发布一些代码。像这样的东西应该工作:
Process proc = new Process();
proc.StartInfo.FileName = @"c:\myShortcut.lnk";
proc.Start();
+1:在这里测试过,效果很好。 – 2011-05-26 16:56:47
如果你的文件是EXE或其他文件类型,如“.EXE”或“.MKV”或“.PDF”,你想运行与快捷链接代码必须这样。
我想运行 “Translator.exe” 计划。
Process.Start(@"C:\Users\alireza\Desktop\Translator.exe.lnk");
如果您使用UseShellExecute = false,并试图发起一个批处理文件,确保添加.BAT到文件名末尾。如果UseShellExecute = true,则不需要.bat。这让我只是浪费了一小时的工作......希望拯救别人。
欢迎来到StackOverflow并感谢您的帮助。参加[巡演]将为您获得您的第一张徽章。玩的开心。 – Yunnosch 2017-06-20 04:52:58
快捷方式需要参数或者是需要参数的快捷方式的目标? – Jodrell 2011-05-26 16:27:16
什么是例外? – Jodrell 2011-05-26 16:27:53
@Jodrell更新了请求的信息。快捷方式的目标需要参数。 – user664939 2011-05-26 16:38:05