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