在C#中启动程序,包括所有文件

时间:2010-11-26 01:39:47

标签: c# process

我在运行程序时遇到问题。

当我开始这个过程时,它说“找不到Tibia.dat!” (它认为exe文件位于项目目录中,当它不是时)。

所以,当我在我的程序中启动该过程时(来自:C:\ program \ Tibia \ Tibia.exe),它说“无法找到C:\ user \ marcus \ my documents \ visual studio 2009 \ blablalba \ Tibia.dat ”

这是我正在使用的代码:

Process.Start(addressToFirstTibia + "\\Tibia.exe");

感谢帮助!!

2 个答案:

答案 0 :(得分:9)

您需要设置工作目录。 Tibia.exe可能希望它与可执行文件的目录相同,所以请尝试:

Process.Start(new ProcessStartInfo {
    FileName         = Path.Combine(addressToFirstTibia, "Tibia.exe"), 
    WorkingDirectory = addressToFirstTibia 
});

答案 1 :(得分:1)

Tibia.exe是否在内部寻找Tibia.dat?它可能会以某种方式检测到“当前工作目录”是项目目录,而不是它自己的可执行目录。

WorkingDirectory上有一个名为ProcessStartInfo的属性,可以为您解决此问题。可以找到信息here