Witam. Piszę mały skrypt do backupów zapisów gry z Spacebase DF9 i mam problem. Chcę aby skrypt uruchamiał plik exe z grą, czekać minutę, potem ma wykrywać czy proces Space.exe jest w pamięci a następnie co jakiś czas robić kopię pliku zapisu gry. Muszę jakoś wydobyć zmienną w której jest zapisana nazwa akutalnego usera i ją wkleić do zmiennej typu string o nazwie saveFile. Największy problem jednak jest w Process.Start(startInfo) bo pomimo poprawnego podania ścieżki wywala mi błąd:
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in System.dll
Additional information: Nie można odnaleźć określonego pliku
using System;
using System.Diagnostics;
using System.Linq;
using Binarysharp.MemoryManagement;
namespace SpacebaseDF9AutoSaveBackupCSharp
{
class Program
{
static void Main(string[] args)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\Program Files(x86)\Steam\steamapps\common\SpacebaseDF9\Win\Bin\Space.exe";
Process.Start(startInfo);
try
{
var process = new MemorySharp(Process.GetProcessesByName("Space").FirstOrDefault());
Console.WriteLine($"Game is runing with PID: {process.Pid.ToString()}");
Environment.GetEnvironmentVariable("userprofile");
string saveFile = "C:\\Users\\%nazwa_użytkownika%\\Documents\\SpacebaseDF9\\Saves\\SpacebaseDF9AutoSave.sav";
}
catch (NullReferenceException)
{
Console.WriteLine("Game is not runing.");
}
}
}
}