2010-03-03 78 views
1

我创建一个Windows服务,我想在代码中放入一个动态路径。但它只接受静态代码。动态字符串x静态字符串

这工作:

Process.Start("C:\\Program Files\\Program\\Program.exe", "-socket 12345"); 

但这并不:

String path = "C:\\Program Files\\Program"; 
String programName = "\\Program.exe"; 
String fileLocation = path + programName; 
Process.Start(fileLocation, "-socket 12345"); 

有人能帮助我吗?

回答

2

你不应该连接路径。改为使用Path.Combine

String path = @"C:\Program Files\Program"; 
String programName = "Program.exe"; 
String fileLocation = System.IO.Path.Combine(path, programName); 
Process.Start(fileLocation, "-socket 12345"); 
+0

只要确保不要像OP写的那样''\\ Program.exe“'。如果第二个路径以\开始,则它被认为是根并且没有连接返回。 – 2010-03-03 04:37:10

2

您的代码示例会导致对Process.Start进行相同的调用。无论什么问题,这里都没有显示。

+0

为什么在第一个样本中找到文件,第二个样本没有? – Mig 2010-03-03 04:39:54

+0

@Mig,因为您没有发布完整的代码。工作和非工作代码是相同的。 – 2010-03-03 04:47:57