私はWPFアプリケーションを持っています。ボタンをクリックしている間にアプリケーション内で、私のビューモデルから下のコードのような新しいアプリケーションを開くための新しいプロセスを作成します。別のプロセスをWPFで先頭に戻す
var process = Process.Start(binaryLocation
+ @"\TestApp.exe", powDBop + " " + mDBop);
processID = process.Id;
正常に動作します。今問題は、ユーザーがボタンを再度クリックして、プロセスが生きているかどうかをチェックし、生きているかどうかを確認することです。そのアプリケーションのウィンドウを前面に持っていく必要があります。
私は以下のコードを試しました。しかし、それは失敗しています。
var winHandle = Process.GetProcessById(process.Id).MainWindowHandle;
HwndSource hwndSource = HwndSource.FromHwnd(winHandle);
var window = hwndSource.RootVisual as Window;
window.BringIntoView();
window.Activate();
hwndSourceを設定し、nullのままされていません。
私も以下のコードで試しても、まだウィンドウはnullを返します。
var winHandle = Process.GetProcessById(process.Id).MainWindowHandle;
Window window = (Window) HwndSource.FromHwnd(winHandle).RootVisual;
誰でも?
ん最上位=真の作品でそれを行うことができると思いますか? – nkoniishvt
@ nkoniishvt:Nop。ウィンドウインスタンスが作成されていません – ViVi