2016-01-12 41 views
0

我如何运行shortcut.link运行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" -i "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"); 

ERROR: An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll

Additional information: The system cannot find the file specified

更新:目标路径中包含1楼的exe和2脚本文件,如果我解剖目标路径,能够将其转换为阵列,由1,那么它仍然会打开它1工作正常?

例如:

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

+1

请给出*一些细节工作不*。有没有例外?你可以发布你的代码吗? – Irshad

+0

@Irshad ID已经发布我的代码等。 –

回答

1

你试过如下生病开放;

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

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

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 [email protected]"/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();