Witam, próbuję napisać usługę systemową, która przy wyłączaniu komputera uruchomi program do BackUp-u, lecz napotkałem pewien problem. Gdy komputer jest wyłączany program do BackUp-u jest uruchamiany, lecz za każdym razem nie wykonuje on do końca swego zadania (za każdym razem inny czas działania), system na siłę przerywa jego działanie i wyłącza komputer. Próbuję użyć polecenia : Process.Start("shutdown", "-a"); aby zatrzymać wyłączanie komputera, wykonać BackUp i potem zamknąć system, lecz nie chce to działać. Po niżej jest kod mojego programu. Bardzo proszę o pomoc w rozwiązaniu tego problemu.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace backUp_ser
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
this.CanShutdown = true;
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
protected override void OnShutdown()
{
Process.Start("shutdown", "-a");
ProcessStartInfo stratInfo = new ProcessStartInfo();
stratInfo.WindowStyle = ProcessWindowStyle.Hidden;
stratInfo.FileName = "C:\\Program Files\\Cobian Backup 10\\Cobian.exe";
stratInfo.Arguments = "list:C:\\Program Files\\Cobian Backup 10\\DB\\MainList.lst -bu -nogui -autoclose";
using (Process process = Process.Start(stratInfo))
{
process.WaitForExit();
}
Process.Start("shutdown", "-s -t 10");
}
}
}
```csharp