2016-08-06 7 views
1

私は単にツールでゲームを起動するためのコンソールアプリケーションを作成しようとしています(このツールはいくつかのバグでゲームを助けます)。 ゲームを終えたら、ゲーム内のメニューからゲームをシャットダウンしたいのですが、手動でシャットダウンすることなくツールを閉じることができます。 "flawlessWideScreen.Close();"を使用しても、ゲームが終了してもツールは開いたままになりますが、 "flawlessWideScreen.Kill();"を使用すると、例外をスローします。手動で別のプロセスをシャットダウンしたら、プロセスを閉じるにはどうすればよいですか?

誰かが間違っていることを知っていますか?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Diagnostics; 
using System.IO; 

namespace Bioshock2AdvancedLauncher 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      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 = new Process(); 
      bioshock2.EnableRaisingEvents = true; 
      bioshock2 = Process.Start(bioshock2Info); 

      Process flawlessWideScreen = new Process(); 
      flawlessWideScreen = Process.Start(@"F:\Steam Library\steamapps\common\BioShock 2\SP\Builds\Binaries\FlawlessWidescreen.lnk"); 

      bioshock2.WaitForExit(); 

      flawlessWideScreen.Kill(); 

     } 
    } 
} 

答えて

0

flawlessWideScreen.Kill();を置き換えて修正しました。このコードで

 foreach (Process p in Process.GetProcesses()) 
     { 
      string name = p.ProcessName.ToLower(); 
      if (name == "flawlesswidescreen") p.Kill(); 
     } 
関連する問題