4

サーバーで Delphi アプリケーションを実行しています。このアプリケーションは、他のアプリケーションで使用され、ユーザーが Windows にログインしたときに実行される DB でいくつかの重要な作業を行います。すべて正常に動作していますが、サーバーの管理者がサーバーを再起動して Windows にログインしないことがあります。サーバーが Windows ログインのままになり、アプリケーションが起動しません。

ちょっとした調査の後、ユーザーが Windows にログインする前でもアプリケーションを開始する Windows サービスを作成することにしました。しかし、私には2つのフォームがあります。1 つのフォームは、アプリケーションが実行している現在のプロセスを表示し、もう 1 つのフォームは、最初のフォームを構成するために使用される .ini ファイルを編集します。

私がする必要があるのは、ユーザーが Windows にログインする前にアプリケーションを起動し、ログイン後にフォームを表示するか、フォームを開いてシステム トレイに最小化するサービスを作成することです。

この動作で Windows サービスを使用し、フォームをシステム トレイに最小化することはできますか?

4

2 に答える 2

15

サービスは、Vista 以降では UI (システム トレイ アイコンを含む) をまったく表示できず、以前のバージョンでは推奨されません。Windows のすべてのバージョンで、ログインしたユーザーが実行できる独自の非サービス アプリケーションに UI を分離し、そのユーザーのトレイのシステム トレイ アイコンを管理し、必要に応じて次を使用してバックエンド サービスと通信する必要があります。任意の数の利用可能な IPC メカニズム (パイプ、ソケット、COM、RPC、WCF など)。

于 2012-08-14T21:59:18.990 に答える
1

サービスにフォームを含めることはできますが、フォームは管理者として実行する必要があり、対話型サービスとして設定する必要があります。

私は SVCOM を使用して、トレイ アイコンとシステム トレイに最小化できるフォームを備えた優れたサービスを作成しました。

こちらをご覧ください: http://www.aldyn.ru/products/index.html

お役に立てれば

于 2012-08-15T06:40:06.137 に答える