これは私のコードです:
            using (Process game = Process.Start(new ProcessStartInfo() { 
        FileName="DatabaseCheck.exe",
        RedirectStandardOutput = true,
        CreateNoWindow = true,
        UseShellExecute = false }))
        {
            lblLoad.Text = "Loading";
            int Switch = 0;
            while (game.MainWindowHandle == IntPtr.Zero)
            {
                Switch++;
                if (Switch % 1000 == 0)
                {
                    lblLoad.Text += ".";
                    if (lblLoad.Text.Contains("...."))
                        lblLoad.Text = "Loading.";
                    lblLoad.Update();
                    game.Refresh();
                }
            }
問題は、game.MainWindowHandle が常に IntPtr.Zero であることです。ゲームがランチャーによって開始されたことを確認するには、実行されたプロセスの IntPtr を見つける必要があるため、ゲームに IntPtr を送信させ、問題がなければランチャーが応答するようにしました。しかし、そのためには、実行されたプロセスの IntPtr を具体的に知る必要があります。
前もって感謝します!