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

发布于 2024-10-04 07:21:21 字数 336 浏览 0 评论 0原文

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

当我启动该过程时,它显示“找不到 Tibia.dat!” (它认为 exe 文件位于项目目录中,但事实并非如此)。

因此,当我在程序中启动该进程时(来自: C:\program\Tibia\Tibia.exe ),它显示“找不到 C:\user\marcus\my Documents\visual studio 2009\blablalba\Tibia.dat”。

这是我正在使用的代码:

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

感谢帮助!

I'm having problems running a process from my program.

When I start the process it says "Cannot find Tibia.dat!" ( it thinks the exe file is located in project directory, when it isn't ).

So when I start the process in my program ( from: C:\program\Tibia\Tibia.exe ) it says "Cannot find C:\user\marcus\my documents\visual studio 2009\blablalba\Tibia.dat".

Here's the code I'm using:

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

Grateful for help !!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤独患者 2024-10-11 07:21:21

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

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

You need to set the working directory. Tibia.exe probably expects it to be the same as the executable's directory, so try:

Process.Start(new ProcessStartInfo {
    FileName         = Path.Combine(addressToFirstTibia, "Tibia.exe"), 
    WorkingDirectory = addressToFirstTibia 
});
抱着落日 2024-10-11 07:21:21

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

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

Is Tibia.exe looking for Tibia.dat internally? It may be detecting somehow that the "current working directory" is the project directory, not its own executable directory.

There's a property called WorkingDirectory on ProcessStartInfo that may solve this issue for you. Info can be found here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文