public void RunStartGame(StartGameData data, bool admin) { string startGamePath = StartGameUtil.GetStartGamePath(); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = startGamePath; startInfo.Arguments = data.GetAsArguments(); if (admin) { startInfo.Verb = "runas"; } else { //startInfo.RedirectStandardOutput = true; startInfo.UseShellExecute = false; } process = Process.Start(startInfo); //if (!admin) { // process.OutputDataReceived += proc_OutputDataReceived; // process.BeginOutputReadLine(); //} }
public static void RunMultipleTasks(StartGameData[] data, bool admin) { ClearStartData(); StartGameApp app = new StartGameApp(); StartGameData final = BuildMultipleTaskData(data); app.RunStartGame(final, admin); }
public static void RunPreBuiltData(StartGameData data, bool admin) { ClearStartData(); StartGameApp app = new StartGameApp(); app.RunStartGame(data, admin); app.WaitForExit(); }
public void BeginMutexExists(int processId, params string[] mutex) { data = new StartGameData(); data.Task = GameStarterTask.QueryMutex; var list = mutex.ToList(); list.Insert(0, processId.ToString()); data.Parameters = list.ToArray(); RunStartGame(data, true); }
public static StartGameData BuildScanGamesData(SearchStorageInfo[] storage) { StartGameData data = new StartGameData(); data.Task = GameStarterTask.ScanGames; string[] argData = new string[storage.Length]; for (int i = 0; i < storage.Length; i++) { argData[i] = storage[i].Drive.Name; } data.Parameters = argData; return(data); }
public static StartGameData BuildMultipleTaskData(StartGameData[] tasks) { StartGameData data = new StartGameData(); data.Task = GameStarterTask.MultipleTasks; string[] argData = new string[tasks.Length]; for (int i = 0; i < tasks.Length; i++) { argData[i] = JsonConvert.SerializeObject(tasks[i]); } data.Parameters = argData; return(data); }
public static StartGameData BuildSymlinkGameData(SymlinkGameData[] games) { StartGameData data = new StartGameData(); data.Task = GameStarterTask.SymlinkFolders; string[] argData = new string[games.Length]; for (int i = 0; i < games.Length; i++) { argData[i] = JsonConvert.SerializeObject(games[i]); } data.Parameters = argData; return(data); }
public void BeginStartGame(string pathToGame, string args, string workingDir = null) { data = new StartGameData(); data.Task = GameStarterTask.StartGame; data.Parameters = new string[3]; data.Parameters[0] = pathToGame; data.Parameters[1] = args; data.Parameters[2] = workingDir; RunStartGame(data, false); //startInfo.RedirectStandardOutput = true; //startInfo.UseShellExecute = false; //process.OutputDataReceived += proc_OutputDataReceived; //process.BeginOutputReadLine(); }
public static StartGameData BuildScanKillMutexData(string gameName, int instances, params string[] mutex) { StartGameData data = new StartGameData(); data.Task = GameStarterTask.ScanKillMutex; string[] parameters = new string[instances]; for (int i = 0; i < instances; i++) { ScanMutexData d = new ScanMutexData(); d.ProcessName = gameName; d.Mutexes = mutex; parameters[i] = JsonConvert.SerializeObject(d); } data.Parameters = parameters; return(data); }
public void BeginMultipleTasks(StartGameData[] tasks, bool admin) { data = StartGameUtil.BuildMultipleTaskData(tasks); RunStartGame(data, admin); }
public void BeginScanGames(SearchStorageInfo[] storage) { data = StartGameUtil.BuildScanGamesData(storage); RunStartGame(data, true); }
public void BeginSymlinkGames(SymlinkGameData[] games) { data = StartGameUtil.BuildSymlinkGameData(games); RunStartGame(data, true); }
public void BeginScanKillMutex(string gameName, int instances, params string[] mutex) { data = StartGameUtil.BuildScanKillMutexData(gameName, instances, mutex); RunStartGame(data, true); }