首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Process.Start未启动游戏应用程序?

Process.Start未启动游戏应用程序?
EN

Stack Overflow用户
提问于 2016-07-28 21:34:40
回答 1查看 1.3K关注 0票数 0

我对C#还很陌生,我以前也用过它,但我现在真的很想了解它。我想做一个游戏的外部控制台应用程序,游戏是一个坏的端口,它需要在后台打开许多程序,使其更具可玩性。因此,我决定编写一个程序,将launcher.exe替换为一个在游戏开始时启动所有程序,并在游戏结束时关闭它们的程序。

准确地说,这个游戏是BioShock 2,但我很可能会制作这个程序,这样我就可以在其他可以使用这个程序的游戏中使用它。这是我的问题,当我开始调试时,它会打开一个程序来帮助游戏(FlawlessWidescreen),但游戏本身不会打开。我试过只运行BioShock2,但它显示它运行了一小段时间,然后就关闭了,没有错误,所以我不能准确地找出我做错了什么。

这是我的代码。

代码语言:javascript
复制
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");
        }
    }
}

FlawlessWidescreen是一个快捷方式,我必须给它更高的权限,这样我就不必一直以管理员的身份运行应用程序。

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

谢谢

编辑:我还想补充说,我尝试过的另一款游戏运行得很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-06 07:54:21

通过使用WorkingDirectory修复此问题。

代码语言:javascript
复制
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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38638053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档