• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Launcher gry(Np. Minecraft) w visual c# sprawdzanie czy gra/proces jest juz uruchomiona

Object Storage Arubacloud
0 głosów
405 wizyt
pytanie zadane 3 maja 2018 w C# przez ArekPogromca Szparek Początkujący (440 p.)

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!

komentarz 7 maja 2018 przez piotrsz109 Stary wyjadacz (13,730 p.)
A searchProcesses?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 118 wizyt
pytanie zadane 11 września 2019 w Systemy operacyjne, programy przez nemek Użytkownik (540 p.)
0 głosów
1 odpowiedź 840 wizyt
pytanie zadane 28 sierpnia 2018 w Sprzęt komputerowy przez quarry038 Użytkownik (520 p.)
0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 20 stycznia 2019 w C# przez Kamio Obywatel (1,100 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...