Zien of er een program niet actief is.

Status
Niet open voor verdere reacties.

Beginnertjee

Gebruiker
Lid geworden
6 jun 2011
Berichten
20
Hey,

Ben eigenlijk een klein projectje aan het maken.
Voor alles zowat beter te begrijpen en het systeem en dergelijke meer.

Nu zit ik met een probleempje.
ik heb een Form applicatie, maar hij moet elke keer checken of een spel, nog actief is of niet (Daar bedoel ik mee, of het spel/programma vastgelopen is).
Ik wil eigenlijk het programma testen van een spelletje, genaamd "World Of Warcraft".
Wanneer bevoorbeeld het spel niet meer actief is, zou ik dan een MessageBox moeten krijgen, dat zegt dat WoW niet acctief is.

Het enige wat ik heb is een oneindige while lus en het inlezen van de processnaam.
Code:
while(true)
{
        Process[] Spelletje = Process.GetProcessesByName("WoW");
}

Ik heb eigenlijk geen idee hoe ik zoiets kan doen.
Hopelijk kunnen jullie me opweg helpen.

Met Vriendelijke Groeten, Beginnertjee ;)
 
Laatst bewerkt:
Dat kun je waarschijnlijk het beste met een Timer doen:

Code:
private void timer1_Tick(object sender, EventArgs e)
        {
            Process[] prs = Process.GetProcesses();
            foreach (Process proces in prs)
            {
                if (proces.ProcessName == "wow") //of iets dergelijks
                {
                        //code
                }
                
            }
        }

Suc6 :thumb:
 
Kijk hier eens naar: klik

En dan vooral naar het event: "Exited"

Heb er verder niet naar gekeken, dus het zou kunnen dat dit niet is wat je zoekt.
 
Net even wat geschreven, met deze code kan je kijken of het spel loopt, en daarna of het spel vasthangt of niet.

De voids:
PHP:
        private bool isWoWRunning()
        {
            return System.Diagnostics.Process.GetProcessesByName("WoW").Length > 0;
        }
        private bool isWoWResponding()
        {
            return System.Diagnostics.Process.GetProcessesByName("WoW")[0].Responding;
        }

Hoe je het aanroept:
PHP:
if (isWoWRunning()) MessageBox.Show(isWoWResponding().ToString());

Je kan ook even de IsHungAppWindow API bekijken, doet in principe hetzelfde als Process.Responding
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan