Witam. Tak jak w temacie, chodzi mi o to żeby sprawdzać czy gra/proces jest juz uruchomiony, już troche napisałem.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace McLauncher
{
public partial class firstForm : Form
{
string turnOnFile = @"C:\Users\Ja\Desktop\TechnicLauncher.exe";
bool turnedOnGame = false;
public firstForm()
{
InitializeComponent();
}
private void bTurnOn_Click(object sender, EventArgs e)
{
// Wlaczanie procesu: System.Diagnostics.Process.Start(@"sciezka");
// Sprawdzanie czy plik jest w danej lokalizacji: string turnOnFile = @"c:\temp\launcher.exe"; : Console.WriteLine(File.Exists(turnOnFile) ? "File exis" : "File does not exis");
// Spracza czy plik jest w danej lokalizacji(turnOnFile) : MessageBox.Show(File.Exists(turnOnFile) ? "Folder istnieje" : "Folder nie istnieje");
if (File.Exists(turnOnFile))
{
if (turnedOnGame == false)
{
// Uruchamianie gry, Jesli jest plik uruchamiacyjny, i ustawianie mozliwosci wlaczenia na jest mozliwe.
turnedOnGame = true;
System.Diagnostics.Process.Start(turnOnFile);
MessageBox.Show("Gra zostanie za chwile uruchomiona.");
}
else
{
// Jesli gra jest juz uruchomiona, to nie uruchomi sie kolejny raz.
MessageBox.Show("Gra jest juz uruchomiona");
}
}
else
{
// Jesli nie wykryje pliku uruchamiającego gre, to nie uruchomi.
turnedOnGame = false;
MessageBox.Show("Wystąpił błąd: Brak pliku do uruchomienia.");
}
}
// Sprawdzanie czy process jest wlaczony(Nie dziala chyba)
public bool searchProcess(String processNamed)
{
Process[] procesy = Process.GetProcesses(".");
foreach (Process process in procesy)
{
if (process.ProcessName.Equals(processNamed))
{
return true;
}
}
return false;
}
}
}
Tyle że nie do końca działa. Jeśli już raz nacisne guzik to po wyłączeniu programu(Tego uruchomionego z launchera który napisałem) nie da się uruchomić kolejny raz, ponieważ nie umiem rozkminić jak sprawdzać czy proces jest uruchomiony, a jeśli nie jest to żeby ustawiać zmienną "turnedOnGame" na false. Jakieś pomysły.
Za każdą pomoc z góry dzięki.
Pozdrawiam!