2007-03-09 [長年日記]

Pocket PCで起動時にウィンドウを表示しない方法

普通にSW_SHOWを渡してShowWindowしてしまうと最前面にウィンドウが表示されてしまいますが、これを裏で起動するには、SW_SHOWNOACTIVATEを使います。

SW_HIDEはウィンドウが表示されないのでタスクリストなどにも表示されません。ちなみに、この状態からSetForegroundWindowで前面に持ってくると、タイトルバーとメニューバーだけが前面にきて、クライアントエリアは見えないままです(タイトルバーとメニューバーはシェルが所有しているからでしょう)。

SW_SHOWNORMAL, SW_SHOW, SW_SHOWNA, SW_RESTOREは普通に前面にきます。そして、SW_MINIMIZEはSW_HIDEと同じです。SW_MAXIMIZEとSW_SHOWMAXIMISEDは試していないので不明です。

[Q3] -q

というわけで、コマンドラインオプションに-qをつけると、最前面に回さずに起動できるようになりました。-gと組み合わせると裏でこっそり巡回させたりできます。

ところで新着メールがあったときには、今はサウンドを鳴らす事しかできませんが、指定したプログラムを実行できると、ぶるぶるさせたり、色々できるかもしれませんね。

[]