ウィンドウの表示状態の質問なのですが
最小化されてるウィンドウのタスクアイコンをクリックすると
最大化→最小化とされたものは最大化状態で表示され
通常サイズ→最小化されたものは通常サイズで表示されますよね。
つまり、最小化される前の状態に復帰するわけですが、それをコードで行う方法を教えてください。

WindowStateでは最大化か通常サイズのどちらかを明示的に選択しなくてはなりませんし
APIのShowWindowでは第二引数を1か9以外にすると最小化から復帰しないし
1か9だと、最小化前が最大化状態だろうと、通常サイズで表示されてしまいます。
SetForegroundWindowも最小化からは復帰しません。
最小化される前の状態を変数に取得しておくとかの逃げ道もありますが、
ちゃんと最小化からの復帰のみを行うような方法があれば教えてください。宜しくお願いします。