-2

だから見つけた

System.Diagnostics.Process.Start()

しかし、それを開始したアプリを閉じたいので(ランチャーがサーバーに接続し、ゲームを起動してそれ自体を閉じる必要があります)、機能しません。私のアプリ:

public partial class MainWindow : Window
{
    Process.Start("xnagame.exe", "12345678");
    this.Close();
}
4

2 に答える 2

1

プロセスに名前を付けて、プロセスを閉じるためのハンドルを取得します。すべてのプロセスが正常に終了するわけではありません。

     try
     {
        Process myProcess;
        myProcess = Process.Start("Notepad.exe");
        // Display physical memory usage 5 times at intervals of 2 seconds.
        for (int i = 0;i < 5; i++)
        {
           if (!myProcess.HasExited)
           {
               // Discard cached information about the process.
               myProcess.Refresh();
               // Print working set to console.
               Console.WriteLine("Physical Memory Usage: " 
                                    + myProcess.WorkingSet.ToString());
               // Wait 2 seconds.
               Thread.Sleep(2000);
           }
           else {
               break;
           } 
        }

        // Close process by sending a close message to its main window.
        myProcess.CloseMainWindow();
        // Free resources associated with process.
        myProcess.Close();

     }
     catch(Exception e)
     {
        Console.WriteLine("The following exception was raised: ");
        Console.WriteLine(e.Message);
     }
于 2012-05-01T19:28:31.373 に答える
0

Process.Start(ProcessStartInfo)オーバーロードを使用して、UseShellExecuteプロパティを に設定しますtrue

于 2012-05-01T20:24:54.633 に答える