2011-03-09 9 views
1

私は、C#プログラムの内部からWPFアプリケーションを起動する必要があることを発見しました。私は、私のためのエクササイズとして、eBrowseという単純なWPFブラウザを書いていました。その後、私はそれを既に使用されているC#プログラムに追加するように要求されました。WPFアプリケーションを起動するC#プログラムを使用する

私はSystem.Diagnostics.Process.Start(@"C:\eBrowse");を試しましたが、動作しませんでした。

ウェブサイト上で発見されたもう一つの可能​​性:C#からWPFのアプリを起動することはできないかもしれない場合、私は疑問に思って

myProcess.StartInfo.UseShellExecute = true; 
// You can start any process, HelloWorld is a do-nothing example. 
//myProcess.StartInfo.FileName = "C:\\HelloWorld.exe"; 
myProcess.StartInfo.FileName = @"C:\eBrowse"; 
myProcess.StartInfo.CreateNoWindow = true; 
myProcess.Start(); 
// This code assumes the process you are starting will terminate itself. 
// Given that is is started without a window so you cannot terminate it 
// on the desktop, it must terminate itself or you can do it programmatically 
// from this application using the Kill method. 

。どんなアイデアも素晴らしいだろう。

答えて

1
using System.Diagnostics; 

Process myProc; 
myProc = Process.Start("calc.exe"); 

Visual Studio 2008/10で自分のシステムでコンパイルして実行します。

exeファイルへのフルパスでcalc.exeをスワップするだけです。

+0

ありがとうございました!残念ながら、WPFアプリケーションには.exeはありません。そのため、私はそのような問題を抱えています。私は複数回チェックしましたが、WPFから.exeを取得する方法が見つかっていません! –

+0

あなたはexeを作るために何を使用していますか?私はVisual Studio 2010を使用し、WPFアプリケーションには.exeがあります。 – clamchoda

+0

既知のファイル拡張子を表示するようにウィンドウを設定してもよろしいですか? Windowsエクスプローラで、[ツール] - > [フォルダオプション] - > [表示]タブ - > [既知のファイルタイプの拡張子を隠す]がオフになっていることを確認します。 – clamchoda

0

これは機能しますか? Winforms/WPF interoperability

+0

お寄せいただきありがとうございます!私は#4に、.exeが私から隠されていたことを書いていました。私はそれを恥ずかしく思っていますが、私はWPFがそれを処理するループを持っていたと思います。 –

5

あなたのEXE名を指定していないと思います。 次試してみてください。

myProcess.StartInfo.FileName = @"C:\eBrowse\yourEXeName.exe"; 
+0

ありがとうございます、あなたは正しいですが、私はそれが私のbin/Debugディレクトリに埋め込まれているかどうかはわかりませんでした。私は最初のstackoverflowの質問のために少し恥ずかしいです。 –

1

.exe拡張子を追加することを忘れないでください。 CreateNoWindowfalseである必要があります。

+0

提案していただきありがとうございます!私は#4に、.exeが私から隠されていたことを書いていました。 –