質問させてください。
story
 1、アプリAを実装中である。
 2、アプリAにはポップアップウィンドウと呼ばれるformが存在する。
 3、ポップアップウィンドウがShow()されると、アプリAのどの窓よりも
   前面に表示される。
 4、ただしアプリA以外のアプリを使用するときは、
 使用するアプリを最前面に表示させる。
 5、アプリAにフォーカスを戻すと、必ずポップアップウィンドウが最前面に表示される。

formのbase.CreateParams プロパティをオーバーライドして色々試しているのですが、
なかなか思うような動きをしてくれません。

このstoryを解決するような実装をどなたか教えていただけないでしょうか?
よろしくお願いします。