Windows 8には、基本的にある種のトリガーに応答して、サービスをオンデマンドで開始できるようにする機能があります。ただし、Windows 7の場合、唯一の実際のオプションは、起動時に自動的に起動するように設定することです。開始を遅らせるように設定して、ウィンドウの開始にかかる時間に追加されないようにすることができます。
通常のユーザーはサービスを開始および停止できません。
編集:上のコメントのリンクを読むことは、ユーザーがサービスを開始および停止するための包括的な機能であるため、私には聞こえます。ここでの質問は、特定のサービスに対してこれを行う方法についてだと思います。
また、サービスをその特定のユーザーとして実行するように設定することは可能かもしれませんが、実際には、その特定のユーザーに対してのみ機能し、ワークステーション上の他のユーザーはアプリケーションを使用できないため、アプリケーションを使用できません。ユーザーとして実行されているサービスが、ユーザーがサービスを制御できることを意味していると仮定して、サービスを開始または停止しますが、そうではない場合があります。
また、コメントやその他の回答を読んでいると、アプリケーションを実行できるすべてのユーザーがこのサービスを使用できるかどうか疑問に思います。つまり、ユーザーAがワークステーションにログオンしてこのアプリ(したがってサービス)を起動し、ロックして立ち去った場合、ユーザーAがログオンして同じサービスを実行しようとするとどうなりますか?サービスは同時に複数のユーザーをサポートできますか、またはサービスが複数回実行されているアプリケーションによって利用されると、面白いことが起こり始めますか。
これは、アプリケーションの起動時にバックグラウンドを開始することが望ましいように思えます。このスレッド(または複数のスレッド)はサービスの作業を実行し、その性質上、アプリケーションが終了すると終了します。もちろん、質問の詳細は、より良い答えを与えるのに役立ちます。
もちろん、サービスとして適切であれば、スリープするワーカースレッドと、実行する作業があるかどうかをチェックするプロデューサーとして機能する別のタイマースレッドを使用してサービスを提供しない理由はありません。