アプリケーション開始時のフォームを非表示にする方法

巷ではマイクロソフトが推奨するような内容で書かれているところが多いと思います。
たとえば、こことか

でも、この方法をとるとSTAThreadが使用されていることを前提としているものを使用することができません。
そこでちょっと考えてみたのですが、Application.Run(form)で呼び出された場合、FormのVisible属性は中の処理で設定値を無視しているのでは?と
そこで、Win32 APIのShowWindowを使って、Form_Load時に無理やりウィンドウを非表示にしてみました。

ShowWindow(SW_HIDE);

実際はP/Invokeの処理を書かないといけませんが端折っています。
これで、アプリケーションが開始されてもフォームは表示されなくなりました。めでたし!