Win32 API呼び出しSetForegroundWindow
を使用して、別のアプリケーションのウィンドウにフォーカスを設定しています。私はSendKeys
を使用して、そのウィンドウにキーストロークを送ります。モーダル子が存在する場合のSetForegroundWindowの問題
これは、モーダルウィンドウ([ファイルを開く]ダイアログなど)が開いている場合とは異なり、正常に機能します。このシナリオでは、そのモーダル子ウィンドウをフォアグラウンドウィンドウとして設定したいと考えています。
メインアプリケーションのhWndを使用して、どのようにアクティブなウィンドウとして任意のモーダル子ウィンドウを設定できますか? (モーダルの子があるかもしれないことに注意してください。それ自体、別のモーダルの子が開いているので、理想的にはこのシナリオでもうまく働きたいと思います)。
私はこれをC#、.NET 3.5でコーディングしています。