public void RunGame(string serverAddress) { var process = new Process(); process.StartInfo = new ProcessStartInfo() { FileName = NFKHelper.GameExePath, Arguments = NFKHelper.GetGameStartArgs(serverAddress), WorkingDirectory = NFKHelper.GetGameWorkingDir() }; process.Start(); }
private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // dispose managed state (managed objects). } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. try { if (kbh != null) { kbh.UnHookKeyboard(); } if (p != null) { p.Kill(); p.Close(); p = null; } if (Intro != null) { // close intro Intro.CloseFlag = true; } StubForm.CloseFlag = true; StubForm = null; // delete temp exe // FIXME: it may be not deleted if there are two instances of the program are running File.Delete(Path.Combine(NFKHelper.GetGameWorkingDir(), NFKHelper.GAME_EXE_TEMP)); } catch (Exception e) { } disposedValue = true; } }
public void Run(string fileName, bool isDemo = true) { if (isDemo && String.IsNullOrEmpty(NFKHelper.DemoFile)) { return; } p = new Process(); p.StartInfo = new ProcessStartInfo() { FileName = NFKHelper.GameExePathTemp, Arguments = isDemo ? NFKHelper.GetDemoStartArgs(fileName) : NFKHelper.GetSpectatorStartArgs(fileName), WorkingDirectory = NFKHelper.GetGameWorkingDir() }; p.Start(); sw.Start(); GameRunning = true; }