• 締切済み

C#でEXEを閉じるとエラー

myProcess.StartInfo.FileName = @"C:\Program Files\Sample\Sample(1)\Sample.exe"; myProcess1.Start(); myProcess.StartInfo.FileName = @"C:\Program Files\Sample\Sample(2)\Sample.exe"; myProcess2.Start(); 上記として、開いたウィンドウを閉じるボタンで終了した際にエラーとなります。 プロセスを一つにすると、エラーが出ないため、同一名のプロセスが原因しているのかと思うのですが、処理の仕方がわかりません。 myProcess1.Exited += new EventHandler(myProcess_Exited); myProcess2.Exited += new EventHandler(myProcess_Exited); private void myProcess_Exited(object sender, System.EventArgs e) { Process exitProcess = (Process)sender; exitProcess.Dispose(); } としてもエラーになりました。 今後、Sample.exeは6つ開きたいのですが、2つでつまづいています。 対処法をご存知の方がおられましたら、アドバイスよろしくお願いいたします。

みんなの回答

回答No.3

添付の画像は.NET Framework自体が出す例外には含まれることのない文字列です。 そのダイアログをだしているのはSample.exeの方ではないでしょうか。 つまり,Sample.exe側にバグがあり,複数起動した結果,それを踏んでしまったと推測します。

amuhiro
質問者

お礼

アドバイスありがとうございます。 Sample.exeをダブルクリックで同数起動しても問題ないのですが、プログラムから呼び出すと上記エラーとなってしまいます。 上記プログラムから呼び出す場合と、ダブルクリックで呼び出す場合とでは何が違うのか検討が付きません。 何か手は無いでしょうか?

回答No.2

コピペで一箇所直し忘れた。 Process myProcess1 = new Process(); Process myProcess2 = new Process(); myProcess1.StartInfo.FileName = @"C:\Program Files\Sample\Sample(1)\Sample.exe"; myProcess1.Start(); myProcess2.StartInfo.FileName = @"C:\Program Files\Sample\Sample(2)\Sample.exe"; myProcess2.Start();

回答No.1

Process myProcess1 = new Process(); Process myProcess1 = new Process(); myProcess1.StartInfo.FileName = @"C:\Program Files\Sample\Sample(1)\Sample.exe"; myProcess1.Start(); myProcess2.StartInfo.FileName = @"C:\Program Files\Sample\Sample(2)\Sample.exe"; myProcess2.Start(); じゃないの? なんで両方とも myProcess.StartInfo.FileName = myProcess.StartInfo.FileName = になってるの?

amuhiro
質問者

補足

ごめんなさい。 タイプミスしました。 オブジェクト作成は Process myProcess1 = new Process(); Process myProcess2 = new Process(); myProcess1.StartInfo・・・ myProcess2.StartInfo・・・ としています。

関連するQ&A