运行Shortcut.link文件目标文件

时间:2016-01-12 03:56:30

标签: c#

如何运行shortcut.link

的目标路径

我已经尝试将此版本运行到process.start但是没有工作, 请帮帮我。

  

e.g。 >> C:\ TeklaStructures \ 19.0 \ nt \ bin \ TeklaStructures.exe -I   " Y:\ ICON \ HERRICK LIC.19.O ICON \ MODELER \ usimp_bypass_login.ini" -一世   " Y:\ INI \ HERRICK_V19.0.ini"

process.start(C:\TeklaStructures\19.0\nt\bin\TeklaStructures.exe -I "Y:\ICON\HERRICK LIC.19.O ICON\MODELER\usimp_bypass_login.ini" -i "Y:\INI\HERRICK_V19.0.ini");
  

错误:未处理的类型异常   ' System.ComponentModel.Win32Exception'发生在System.dll

中      

附加信息:系统找不到指定的文件

更新:目标路径包含1个exe和2个脚本文件,如果我剖析目标路径,可以将其转换为数组,逐个打开然后它仍能正常工作吗?

示例:

arr[0] = C:\TeklaStructures\19.0\nt\bin\TeklaStructures.exe
arr[1] = Y:\ICON\HERRICK LIC.19.O ICON\MODELER\usimp_bypass_login.ini
arr[2] = Y:\INI\HERRICK_V19.0.ini

然后我会打开它们

process.start("C:\TeklaStructures\19.0\nt\bin\TeklaStructures.exe");
process.start("Y:\ICON\HERRICK LIC.19.O ICON\MODELER\usimp_bypass_login.ini");
process.start("Y:\INI\HERRICK_V19.0.ini");

example

2 个答案:

答案 0 :(得分:1)

您是否尝试过以下内容;

Process proc = new Process();
proc.StartInfo.FileName = @"c:\myShortcut.lnk";
proc.Start();

使用快捷方式的完整路径替换c:\myShortcut.lnk。不是目标路径等。

答案 1 :(得分:0)

我强烈怀疑你process.start中存在问题,但参数形成不良。

下面的代码应该适合你。

Process.Start(@"C:\TeklaStructures\19.0\nt\bin\TeklaStructures.exe",@"-I ""Y:\ICON\HERRICK LIC.19.O ICON\MODELER\usimp_bypass_login.ini"" -i ""Y:\INI\HERRICK_V19.0.ini""");

var p = new Process
{
    StartInfo =
    {
        Arguments =@"/c ""C:\TeklaStructures\19.0\nt\bin\TeklaStructures.exe"" -I ""Y:\ICON\HERRICK LIC.19.O ICON\MODELER\usimp_bypass_login.ini"" -i ""Y:\INI\HERRICK_V19.0.ini""",
        FileName = "cmd"
    }
};
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();