2011-01-31 4 views
2

私はWindowsサービスに変換される単純なUIなしのアプリケーションを持っています。テストのために、いつ実行されているかを確認すると便利です。だから私は、UIを持つ他のアプリケーションとしてタスクバーのボタンを作成したいと思います。それは合理的な努力で可能ですか?どのウィンドウでもタスクバーボタンを作成する方法は?

+0

Taskmgr.exeは、テストに十分なプロセスを表示できます。 –

+0

@ハンス:お客様のためではありません –

+0

あなたの顧客はあなたのコードをテストしていますか?珍しい。 –

答えて

4

をカスタムウィンドウクラスを作成し、常に最小限に抑えるか、常に不可視のウィンドウを維持します。タスクバーのボタンは、のウィンドウを表します。ウィンドウなしのボタンは使用できず、そのウィンドウが表示されている必要があります。 (ウィンドウが画面(s)はオフに置く座標を持つことができ、それがゼロ寸法を有することができるが、それはWS_VISIBLEスタイルを持っている必要があります。)

別のオプションは、通知アイコンを作成することです。ウィンドウも必要ですが、ウィンドウを表示する必要はありません。しかし、最終的な目標がプログラムであることが目標であれば、あなたが望む以上に多くの努力を払うかもしれません。サービスは通知アイコンを表示したり、ウィンドウを表示することはできません。

最も簡単な変更は、単にプログラムをコンソールプログラムにすることです。その後、OSによってコンソールウィンドウが作成されます。あなたのプログラムはそれを作成したり管理したりする必要はありません。

0

いいえ、それは不可能です(0の大きさと、どこか-32767近い位置)

0

WindowsサービスにはUIが必要です。実際、Windows VistaとWindows 7では、それらは異なるセッションで実行されており、デスクトップへのアクセス権はありません。

サービスを監視するには、別のアプリケーションを作成する必要があります。通常、このようなアプリケーションは隠されたウィンドウで実行され、ユーザーと対話するためにnotification areaを使用します。

1

タイプITaskbarListのオブジェクトを作成し、メソッドAddTabを呼び出します。これが動作するには、可視ウィンドウは必要ありません。ダミーの非表示ウィンドウが表示されます。 もちろん、上記の方法で手動で追加しないと、このようなウィンドウはタスクバーに表示されません。

関連する問題