Windowsサービスを作成します
 コンピューターの起動時にアプリケーションを実行する必要がある場合、私たちの多くはこの問題に直面しています。 もちろん、スタートアップにショートカットを置くこともできますが、どういうわけか間違っています。 また、コンピューターが再起動し、ユーザーがログインしなかった場合、アプリケーションも起動しません。 
      
        
        
        
      
    
      
        
        
        
      
     この状況で最も確実な解決策は、Windowsサービスを作成することです。 
      
        
        
        
      
    
      
        
        
        
      
      Studio 2010でサービスを作成する例、.Net C#catの下 
      
        
        
        
      
    
      
        
        
        
      
     手順1.プロジェクトを作成します。 
      
        
        
        
      
    
      
        
        
        
      
      Windowsサービステンプレートを選択して新しいプロジェクトを作成する 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     必要に応じてサービスクラスの名前を変更します。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     そのようなウォーターコードを受け取りました: 
      
        
        
        
      
    
      
        
        
        
      
     namespace ExampleSrv 
      
        
        
        
      
     { 
      
        
        
        
      
     public partial class MyService : ServiceBase 
      
        
        
        
      
     { 
      
        
        
        
      
     public MyService() 
      
        
        
        
      
     { 
      
        
        
        
      
     InitializeComponent(); 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     protected override void OnStart( string [] args) 
      
        
        
        
      
     { 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     protected override void OnStop() 
      
        
        
        
      
     { 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     * This source code was highlighted with Source Code Highlighter .
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
     
 
      
        
        
        
      
    
      
        
        
        
      
     実際、これはサービスそのものです。 
      
        
        
        
      
      OnStartイベントと
OnStopイベントを使用して、タスクを実装します。 
      
        
        
        
      
    
      
        
        
        
      
     ステップ2.インストーラーを追加します。 
      
        
        
        
      
     サービスを機能させるには、インストールする必要があります。 
      
        
        
        
      
     それをインストールするには、インストーラーが必要です。 
      
        
        
        
      
    
      
        
        
        
      
     右クリック... 
インストーラーの追加 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     これで、 
serviceProcessInstallerと
serviceInstallerができました。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     最初に、 
LocalSystemに
Accountの値を入れることができます。 
      
        
        
        
      
      2番目では、サービス名、説明を指定し、 
StartType - 
Automaticを忘れずに入れます。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     インストーラーの準備ができました。 
      
        
        
        
      
    
      
        
        
        
      
     ステップ3.ロギング。 
      
        
        
        
      
     サービスの実行内容、開始時、終了時、またはその他のことを確認できるようにするために、システムロギングを使用できます。 
      
        
        
        
      
     これは非常に簡単です。 
      
        
        
        
      
     ツールボックスから
EventLogサービスにドラッグし
ます 。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     これがロギングの実行方法です。 
      
        
        
        
      
    
      
        
        
        
      
      public partial class MyService : ServiceBase 
      
        
        
        
      
     { 
      
        
        
        
      
     public MyService() 
      
        
        
        
      
     { 
      
        
        
        
      
     InitializeComponent(); 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     protected override void OnStart( string [] args) 
      
        
        
        
      
     { 
      
        
        
        
      
     AddLog( "start" ); 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     protected override void OnStop() 
      
        
        
        
      
     { 
      
        
        
        
      
     AddLog( "stop" ); 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     public void AddLog( string log) 
      
        
        
        
      
     { 
      
        
        
        
      
     try 
      
        
        
        
      
     { 
      
        
        
        
      
     if (!EventLog.SourceExists( "MyExampleService" )) 
      
        
        
        
      
     { 
      
        
        
        
      
     EventLog.CreateEventSource( "MyExampleService" , "MyExampleService" ); 
      
        
        
        
      
     } 
      
        
        
        
      
     eventLog1.Source = "MyExampleService" ; 
      
        
        
        
      
     eventLog1.WriteEntry(log); 
      
        
        
        
      
     } 
      
        
        
        
      
     catch {} 
      
        
        
        
      
     } 
      
        
        
        
      
     } 
      
        
        
        
      
     
      
        
        
        
      
     * This source code was highlighted with Source Code Highlighter .
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
     
 
      
        
        
        
      
    
      
        
        
        
      
     ステップ4.インストール。 
      
        
        
        
      
     サービスをインストールするには、インストールユーティリティを呼び出して、パラメータとしてサービスへのパスを渡す必要があります。 
      
        
        
        
      
     これを行うために、このフォームのinstall.batを作成しました。 
      
        
        
        
      
    
      
        
        
        
      
     C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe D:\...\ExampleSrv\bin\Debug\ExampleSrv.exe 
      
        
        
        
      
     pause
      
      
        
        
        
      
    
        
        
        
      
      
        
        
        
      
    
     
      
        
        
        
      
     
      
        
        
        
      
      serviceProcessInstallerの [ アカウント - 
ユーザー]フィールドの値を選択した場合、インストール中に、サービスを起動するアカウントのログインとパスワードを入力する必要があります。 注意! ユーザー名が必要になる前にドメインを書く! 
      
        
        
        
      
    
      
        
        
        
      
     管理者権限でバッチファイルを起動し、最後に確認します。 
      
        
        
        
      
    
      
        
        
        
      
      コミットフェーズが正常に完了しました。 
      
        
        
        
      
      トランザクションインストールが完了しました。 
      
        
        
        
      
    
      
        
        
        
      
     これは、サービスがインストールされていることを意味します。 
      
        
        
        
      
     私たちはチェックします: 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     確立されています。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     数回、開始および停止します。 ログを確認します。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     サービスがいつ開始および停止したかがわかります。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     サービスの準備ができました。 
      
        
        
        
      
    
      
        
        
        
      
    
      
        
        
        
      
     ここから部分的に取った資料: 
      
        
        
        
      
      msdn.microsoft.com/en-us/library/zt39148a(VS.80).aspx  
      
        
        
        
      
    
All Articles