プロセスが別のプロセスの UWP アプリ (特に MS Edge) でモーダル ダイアログを表示したり、ダイアログを表示している間、UWP アプリケーションとのユーザー操作をブロックしたりする方法はありますか?
バックグラウンド
ユーザーのアクションに応じて、別のアプリケーションの上にモーダル ダイアログを表示し、ユーザーがモーダル ダイアログを操作している間はユーザー入力をブロックすることで、ユーザーに追加情報を要求するアプリケーションがあります。
通常の Win32 アプリケーションでは、WinForms モーダル ダイアログを表示し、そのウィンドウ オーナーを元のアプリケーションに設定するだけで、問題なく動作します。
dialog.ShowDialog(GetTargetWindow());
ただし、これは UWP アプリケーションでは機能しません。UWP アプリケーションに関連するさまざまな hWnds (Windows など) を使用して同じアプローチを試みましたがApplicationFrameWindow
、どれも機能していないようです。AppContainer の分離のために機能しないようです。Windows.UI.Core.CoreWindow
ApplicationFrameInputSinkWindow
これはエンタープライズ ソフトウェアであり、任意の特権レベルでコードを実行できるシステム サービスがバックグラウンドで実行されているため、アクセス許可は問題になりません。