Kod:
static void Main(string[] args)
{
Timer aTimer = new Timer {AutoReset = true};
aTimer.Elapsed += OnTimedEvent;
aTimer.Interval = 120000;
aTimer.Enabled = true;
}
private static void OnTimedEvent(object sender, ElapsedEventArgs e)
{
var gameOn = IsGameActive();
if (!gameOn)
{
Console.WriteLine(string.Format("Basltlıyor .. {0}", DateTime.Now));
string zipPath = @"C:\GM\gm.zip";
if (Directory.Exists(zipPath))
{
using (var zip = ZipFile.Read(zipPath))
{
zip.ExtractAll(@"C:\GM\", ExtractExistingFileAction.OverwriteSilently);
}
}
var proc = new Process
{
StartInfo =
{
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
FileName = @"C:\GM\GM.exe",
WorkingDirectory = @"C:\GM\"
}
};
proc.Start();
Console.WriteLine(string.Format("Basltldı .. {0}", DateTime.Now));
}
}
/// <summary>
/// calısıyormu calısmıyormu kontrol edıyo
/// </summary>
/// <returns></returns>
static bool IsGameActive()
{
return Process.GetProcesses().Any(x => x.ProcessName.Contains(string.Format("{1}n{0}h{2}", "ig", "K", "t")));
}
Yakalanmaması için 2.program daha yaptım onda sorun yok işini gorup kendını sıldırıyorum yakalanmıyor fakat bu sureklı acık kalmak zorunda oluyor bunda ne sorun olabılır neyı yakalayabılır aklımda almıyor.