2016-06-29 7 views
0

別のフォームのexeファイルをメインフォームに呼び出しますが、表示する必要はありません。その後、ボタンをクリックするとexeファイルを閉じる必要があります。ボタンをクリックしたときに可視プロセスとクローズプロセスを実行するには

私はそれが見えるの実行方法私を助けてください?コード

ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.FileName = "C:\\Users\\server.exe"; 
Process.Start(startInfo); 

の私の別のフォームexeファイルの使用を呼び出しますか

iはオブジェクト参照が非静的フィールド、メソッド、または 性のために必要とされる

Process.Kill(); 

を使用することexeファイルクローズする必要がある場合 'process.killで()は'

このエラーが発生します。

別のexeファイルを表示する方法を教えてください。ボタンをクリックすると、それを閉じる方法は?あなたの2番目の質問に答えるために

+0

あなたはProcess.Startを呼び出す場合は、exeファイルが起動され、そのexeファイルがウィンドウを持っている場合、ウィンドウが表示されます。 –

答えて

1

Kill()Processインスタンス方法ですが、あなたは静的方法のようにそれを呼び出すようにしてみてください。

あなたは Process.Start()によって返さ Processインスタンスを使用し、そのインスタンス上 Kill()を呼び出す必要があり

Process myProcessInstance = Process.Start(startInfo); 
//... 
myProcessInstance.Kill(); 

をご最初質問について:私は完全にあなたの問題を理解していませんか? ウィンドウを表示したいのですか? に表示する必要がありますか?現在のコードを実行すると何が起こっているのですか(それは見えますか?)

ProcessStartInfo.CreateNoWindowProcessStartInfo.WindowStyleのプロパティがあります。

起動した* .exeで作成されたフォームを見たくない場合は、残念ながら起動することはできません。単にProcessStartInfoで起動することはできません。開始されたプロセスのウィンドウを列挙し、そのAPIを通じてこれらのウィンドウにアクセスするには、Windows APIを使用する必要があります。 Here is a starting point

server.exeがあなたによって作成された場合、フォームを表示しないようにコマンドライン引数を指定することを検討することがあります。

+0

私の最初の質問は:私は私のexeファイルを表示したくないです。私は私のexeをvisible = falseにしたい。 – Divi

+0

@Diviは答えを更新しましたが、それは簡単なことではありません。 –

+0

あなたの助けを借りてくれてありがとう...私はOpacity = 0%の助けを借りて私のフォームを隠しています。 – Divi

1

あなたは変数で処理し保存する必要があります:

Process process = Process.Start(startInfo); 

process.Kill(); 
関連する問題