ほとんどのWindowsユーザーと同じように、Windowsの起動時に実行されるすばらしい小さなユーティリティがたくさんあります。これはほとんどのアプリでうまく機能しますが、ユーザーがPCにログインする前でも開始するとよいアプリもあります。これを行うには、アプリをWindowsサービスとして実行する必要があります。
Windowsサービス は、バックグラウンドで起動して実行するように構成された特別なクラスのプログラムです。通常、ユーザーインターフェースはなく、ユーザーがPCにログインする必要もありません。多くのゲーマーやパワーユーザーは、システムの速度を上げるために無効にしていたものとしてそれらを知っていますが それは本当にもう必要ありません 。
アプリをサービスとして実行する主な利点は、ユーザーがログインする前にプログラムを開始できることです。これは、パソコンから離れているときに利用できるようにしたい重要なサービスを提供するアプリでは特に重要です。
関連: Windowsサービスの理解と管理
これの完璧な例は プレックス 、ローカルコンテンツを所有しているほぼすべてのデバイスにストリーミングできるメディアサーバーアプリ。もちろん、通常のプログラムのようにシステムトレイに置いておくことができますが、停電やスケジュールされた更新のためにコンピューターが再起動した場合はどうなりますか? PCに再度ログインするまで、Plexは使用できません。ポップコーンが冷えている間にPlexをバックアップするために別の部屋に走らなければならない場合はイライラします。また、町の外にいてインターネット経由でメディアをストリーミングしようとしている場合は非常にイライラします。 Plexをサービスとして設定すると、その問題が解決します。
開始する前に、アプリをサービスとして実行する際の重要な注意事項をいくつか知っておく必要があります。
- アプリはシステムトレイにアイコンを配置しません。アプリで定期的に利用できるインターフェースが必要な場合は、サービスとして実行するのに最適ではない可能性があります。
- 構成を変更または更新する必要がある場合は、サービスを停止し、プログラムを通常のアプリとして実行し、必要な操作を実行し、プログラムを停止してから、サービスを再開する必要があります。
- Windowsの起動時にプログラムがすでに実行されるように設定されている場合は、2つのインスタンスが実行されないように、プログラムを無効にする必要があります。ほとんどのプログラムには、この設定を切り替えるためのオプションがインターフェイスにあります。他の人はあなたに自分自身を追加するかもしれません スタートアップフォルダ 、そこで削除できます。
ロールする準備はできましたか?設定方法について話しましょう。
ステップ1:SrvStartをインストールします
アプリをサービスとして実行するには、小さなサードパーティのユーティリティが必要になります。そこにはいくつかありますが、私たちのお気に入りは SrvStart 。もともとはWindowsNT用に設計されており、WindowsXP以降のほぼすべてのバージョンのWindowsで動作します。
開始するには、
SrvStartダウンロードページ
ユーティリティを入手します。ダウンロードには、4つのファイル(2つのDLLと2つのEXEファイル)のみが含まれています。インストーラーはありません。代わりに、これらをパソコンにコピーしてください
C:\ Windows
これらをメインのWindowsフォルダにフォルダして、SrvStartを「インストール」します。
また、サービスに変換するプログラムが既にインストールおよびセットアップされていることを前提としていますが、まだインストールしていない場合は、今がそれを行う良い機会です。
ステップ2:新しいサービスの構成ファイルを作成する
次に、SrvStartがサービスを作成するために読み取る構成ファイルを作成する必要があります。 SrvStartでできることはたくさんあり、すべての構成オプションの詳細を読むことができます。
ドキュメントページ
。この例では、2つのコマンドのみを使用します。
起動
、起動するプログラムを指定し、
shutdown_method
、それぞれのサービスが停止したときにプログラムを閉じる方法をSrvStartに指示します。
メモ帳を起動し、以下の形式を使用して構成ファイルを作成します。ここではPlexを使用していますが、サービスとして実行する任意のプログラムのファイルを作成できます。ザ・
起動
コマンドは、実行可能ファイルが存在するパスを指定するだけです。のために
shutdown_method
コマンド、私たちは使用しています
winmessage
パラメータ。これにより、SrvStartは、サービスによって開かれたすべてのウィンドウにWindowsクローズメッセージを送信します。
[Plex] startup = "C:\ Program Files(x86)\ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage
もちろん、起動するプログラムに応じてパスと名前を調整してください。
新しい構成ファイルを好きな場所に保存し、.txt拡張子を.ini拡張子に置き換えます。次のステップで必要になるため、ファイル名をメモしておきます。コマンドプロンプトでの入力を簡単にするために、このファイルをC:ドライブに一時的に保存することをお勧めします。
ステップ3:コマンドプロンプトを使用して新しいサービスを作成する
次のステップは、Windowsサービスコントローラー(SC)コマンドを使用して、構成ファイルの条件に基づいて新しいサービスを作成することです。 [スタート]メニューを右クリックして(またはWindows + Xを押して)、[コマンドプロンプト(管理者)]を選択し、[はい]をクリックしてコマンドプロンプトを開き、管理者権限で実行できるようにします。
コマンドプロンプトで、次の構文を使用して新しいサービスを作成します。
SC CREATE <servicename> Displayname = "<servicename>" binpath = "srvstart.exe <servicename> -c <srvstart configfileへのパス>" start = <starttype>
このコマンドには、注意すべき点がいくつかあります。まず、各等号(=)の後にスペースがあります。それが必要です。また、
<サービス名>
価値は完全にあなた次第です。そして最後に、
<開始タイプ>
価値、あなたは使いたいでしょう
自動
これにより、サービスはWindowsで自動的に開始されます。
したがって、Plexの例では、コマンドは次のようになります。
SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C:PlexService.ini" start = auto
はい、あなたはその権利を読んでいます:私は使用しました
C:PlexService.ini
の代わりに
C:\ PlexService.ini
。このコマンドでは、スラッシュを削除する必要があります。
コマンドを実行すると、すべてがうまくいけばSUCCESSメッセージが表示されます。
この時点から、Windowsが起動するたびに新しいサービスが実行されます。 Windowsサービスインターフェイスを開くと([スタート]をクリックして「サービス」と入力するだけ)、他のサービスと同じように新しいサービスを見つけて構成できます。
そして、それがすべてです。 Windowsで起動するアプリがあり、ユーザーがログインしなくても起動したい場合は、アプリをサービスに変えるのは簡単です。新しいサービスを作成して実行するための基本的な方法に触れただけですが、サービスの実行方法を微調整するためにSrvStartを使用して実行できることは他にもたくさんあります。詳細については、ドキュメントを確認してください。