Откройте Visual Studio и выберите новый проект, выбрав шаблон Windows Service
на вкладке Windows Desktop
. Затем скопируйте следующий код в файл service_name.cs.
using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
public partial class Timer_Service : ServiceBase
{
public Timer_Service()
{
InitializeComponent();
}
static void Main()
{
if (System.Diagnostics.Debugger.IsAttached)
{
Timer_Service service = new Timer_Service();
service.OnStart(null);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Timer_Service()
};
ServiceBase.Run(ServicesToRun);
}
}
protected override void OnStart(string[] args)
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
}
protected override void OnStop()
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
}
}
}
Щелкните правой кнопкой мыши файл service_name.cs и откройте дизайнер службы. чем щелкнуть правой кнопкой мыши и выбрать Add Installer
. чем щелкнуть правой кнопкой мыши на serviceProcessInstaller1
и изменить значение его свойства Account
с User
на Local System
.
Удалить метод static void main
из файла Program.cs
.
Чем сохранить и построить свой проект.
ПРИМЕЧАНИЕ. Перейти к bin\Ddebug
папке вашего проекта. Чем открыть Свойства вашего service_name.exe
файла. Чем перейти Compatibility
вкладка. Затем нажмите Change Settings For All Users
.
Выберите опцию Run this program as an administrator
.
Теперь вам нужно открыть CommandPromt от имени администратора.
После открытия установите каталог, в котором находится ваш файл InstallUtil.exe
.
Например: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
.
Теперь напишите следующую команду:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Примечание: -i для установки службы и -u для удаления.
после -i укажите путь, по которому вы хотите установить службу.
теперь напишите команду в CommandPromt следующим образом:
C:\TimerService\TimerService\bin\Debug>net start service_name
Примечание: использовать stop
для остановки службы.
Теперь откройте ViewEventLog.exe
. Выберите Журналы Windows> Приложение. Там вы можете проверить журнал службы, запустив и остановив службу.