普通にSW_SHOWを渡してShowWindowしてしまうと最前面にウィンドウが表示されてしまいますが、これを裏で起動するには、SW_SHOWNOACTIVATEを使います。
SW_HIDEはウィンドウが表示されないのでタスクリストなどにも表示されません。ちなみに、この状態からSetForegroundWindowで前面に持ってくると、タイトルバーとメニューバーだけが前面にきて、クライアントエリアは見えないままです(タイトルバーとメニューバーはシェルが所有しているからでしょう)。
SW_SHOWNORMAL, SW_SHOW, SW_SHOWNA, SW_RESTOREは普通に前面にきます。そして、SW_MINIMIZEはSW_HIDEと同じです。SW_MAXIMIZEとSW_SHOWMAXIMISEDは試していないので不明です。