2

Delphi アプリケーションがあり、それにサービスを追加しました。メイン フォームボタンでインストール、開始、停止するにはどうすればよいですか。

私は別のプロジェクトサービスでそれを行うことができますが、私の目標はサービスがそれを制御するためのインターフェースを作ることです.

ありがとう

4

2 に答える 2

9

Win32 API Service Control 関数 ( 、 、 、 など) を使用する必要がありますCreateService()OpenService()サービス StartService()ControlService()、実行中に独自の UI を表示することはできません。UI は別のプロセスとして実行する必要があります。ただし、必要に応じて、サービス コードと UI コードを同じ実行可能ファイルでホストし、コマンド ライン パラメーターを使用して、いつサービスとして実行し、いつ UI として実行するかを知ることができます。しかし、それはコード管理の問題です。代わりに、2 つのコードベースを別々の実行可能ファイルで簡単にホストすることもできます。

于 2013-03-28T00:35:22.620 に答える
4

同じアプリケーション内でサービスへの視覚的なインターフェイスを持つことはできなくなりました。

Windows Vista 以降では、サービスはユーザーとは別のデスクトップで実行され、ユーザーと視覚的にやり取りすることはできません。名前付きパイプ、メールスロット、またはその他の形式のプロセス間通信を介して、またはservice control functionsWindows API で利用可能ないずれかを介して、サービスと通信する別のアプリケーションを作成する必要があります。

于 2013-03-28T00:12:57.077 に答える