2009-07-02 9 views
0

Win32 API呼び出しSetForegroundWindowを使用して、別のアプリケーションのウィンドウにフォーカスを設定しています。私はSendKeysを使用して、そのウィンドウにキーストロークを送ります。モーダル子が存在する場合のSetForegroundWindowの問題

これは、モーダルウィンドウ([ファイルを開く]ダイアログなど)が開いている場合とは異なり、正常に機能します。このシナリオでは、そのモーダル子ウィンドウをフォアグラウンドウィンドウとして設定したいと考えています。

メインアプリケーションのhWndを使用して、どのようにアクティブなウィンドウとして任意のモーダル子ウィンドウを設定できますか? (モーダルの子があるかもしれないことに注意してください。それ自体、別のモーダルの子が開いているので、理想的にはこのシナリオでもうまく働きたいと思います)。

私はこれをC#、.NET 3.5でコーディングしています。

答えて

1

GetTopWindowは、指定されたHWNDの最高のZオーダーを提供します。これは、存在するイベントの最後のモーダルダイアログになります。

GetLastActivePopupでも動作します。

関連する問題