进程.启动未启动游戏应用程序

本文关键字:启动 应用程序 游戏 进程 | 更新日期: 2023-09-27 17:59:13

我对C#还很陌生,我以前也做过,但现在我真的很想了解它。我想为游戏制作一个外部主机应用程序,游戏是一个糟糕的端口,它需要在后台打开很多程序才能使其更具可玩性。因此,我决定制作一个程序,用一个在游戏开始时启动所有程序并在游戏结束时关闭这些程序的程序来代替launcher.exe。

确切地说,游戏是《生化危机2》,但我很可能会制作这个程序,这样我就可以将它与其他可以使用这个程序的游戏一起使用。但我的问题是,当我开始调试时,它会打开其中一个程序来帮助游戏(FlawlessWidescreen),但游戏本身不会打开。我试过只运行BioShock2,但它显示它运行了很快的一秒钟,然后关闭,没有错误,所以我无法准确地找出我做错了什么。

这是我的密码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Security;
namespace Bioshock2_Advanced_Launcher
{
        public class SecurityException : SystemException
    {
        static void Main(string[] args)
        {
            Process.Start("F:''Steam Library''steamapps''common''BioShock 2''SP''Builds''Binaries''FlawlessWidescreen.lnk");
            Process.Start("F:''Steam Library''steamapps''common''BioShock 2''SP''Builds''Binaries''Bioshock2.exe");
        }
    }
}

Flawless宽屏幕是一种快捷方式,我必须赋予它更高的权限,这样我就不必一直以管理员身份运行应用程序。

我也想知道你们中是否有人知道如何检查BioShock2是否关闭,这样其他程序就会随之关闭。有什么想法吗?

感谢

编辑:我还想补充一点,我尝试的另一款游戏推出得非常好。

进程.启动未启动游戏应用程序

使用WorkingDirectory修复了它。

ProcessStartInfo bioshock2Info = new ProcessStartInfo();
bioshock2Info.FileName = (@"F:'Steam Library'steamapps'common'BioShock 2'SP'Builds'Binaries'Bioshock2.exe");
bioshock2Info.WorkingDirectory = Path.GetDirectoryName(@"F:'Steam Library'steamapps'common'BioShock 2'SP'Builds'Binaries'Bioshock2.exe");
Process bioshock2 = Process.Start(bioshock2Info);