Я новичок в C #, я уже с ним возился, но теперь я действительно хочу узнать его. Я хочу сделать внешнее консольное приложение для игры, игра - плохой порт, и для нее требуется, чтобы в фоновом режиме было открыто много программ, чтобы сделать ее более играбельной. Поэтому я решил сделать программу, которая заменяет launcher.exe на такую, которая запускает все программы при запуске игры и закрывает их при закрытии игры.
Если быть точным, игра называется BioShock 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");
}
}
}
FlawlessWidescreen — это ярлык, мне пришлось дать ему повышенные разрешения, чтобы мне не приходилось все время запускать приложение от имени администратора.
Я также хотел бы знать, знает ли кто-нибудь из вас, как проверить, закрывается ли BioShock2, чтобы другие программы закрывались вместе с ним. Есть идеи?
Спасибо
Редактировать: я также хотел бы добавить, что другая игра, которую я пробовал, запустилась отлично.
ProcessStartInfo
, где вы установилиEnableRaisingEvents = true
. Затем сохраните запущенный процесс в переменной и перехватите событиеExited
. Оставьте свое приложение до тех пор. (msdn.microsoft. com/en-us/library/) - person Maximilian Gerhardt   schedule 28.07.2016