Czy to w ogóle możliwe? Jeśli tak to jak? Przepływ byłoby coś jak:Rozpocznij wykonywanie pliku exe w oknach, uruchom ponownie komputer i odbierz, gdzie proces został przerwany.
private void DoStuff()
{
// Do some stuff
RestartPc();
}
private void RestartPc()
{
Process.Start("shutdown", "/r /t 0");
}
// Call this when the PC is restarted:
private void DoStuffAfterRestart() {}
Wszystko to kod będzie usługa okna, więc co będzie „najlepszy” sposób powiedzieć metodę OnStart
pominąć DoStuff
jeśli pc została wznowiona i przejść prosto do DoStuffAfterRestart
, ponieważ usługa będzie ustawiona na automatyczne uruchamianie.
Gdzie dokładnie jest problem? możesz napisać swój ostatni wykonany krok do bazy danych, plik json, .... a następnie ustalić, co dalej robić po restarcie. czy masz problemy z samym obiektem? –
Rzeczywiście twój proces ma etapy, kiedy twój proces kończy jeden z etapów, przechowuj go w pliku xml i kiedy wtedy okno zaczyna ponownie czytać ten xml i kontynuować od tego etapu – Monah
Jest to nieunikniony dość ogólny komentarz, ponieważ odpowiedź może być długa, ale: Czy rozważałeś użycie ** Workflow Foundation **? Jeśli wykonujesz sekwencję czynności, możesz utrzymywać stan przepływu pracy, ponownie uruchomić komputer, a następnie wznowić przepływ pracy (od bardzo następnego kroku). Do tego zadania można również użyć ** Odzyskiwanie aplikacji i Uruchom ponownie **. –