以下のコードをコンソール アプリケーションに記述しましたが、正常に動作しています。
public void GetData()
{
ServiceController[] services = ServiceController.GetServices();
string strServices = null;
foreach (ServiceController service in services)
{
strServices += service.DisplayName.ToString() + ":" + service.Status.ToString() + ">";
}
System.IO.File.WriteAllLines(@"D:\Info.txt", strServices.Split('>'));
}
Visual Studio 2010 の Windows サービス temlate で同じコードを記述する必要があります。上記のコードをどこに記述すればよいか教えてください。Visual Studio の Windows サービス テンプレートを開くと、デフォルトで以下のコードが表示され、上記のコードに収まる必要があります。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
namespace PocService
{
public partial class PocSevice : ServiceBase
{
public PocSevice()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
}
}