1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
/// <param name="mesProcBefore">Tableau des processus avant</param>
/// <param name="mesProcAfter">Tableau des processus après</param>
/// <returns>L'identifiant du processus supplémentaire</returns>
private int GetProcessID(Process[] mesProcBefore, Process[] mesProcAfter)
{
int result = -1;
bool isMyProc = false;
// Si mon processus est le seul à être instancié
// inutile de parcourir le tableau, il n'y a qu'une instance :
if (mesProcBefore.Length == 0 && mesProcAfter.Length == 1)
{
result = mesProcAfter[0].Id;
}
else
{
// Parcours des processus après instanciation de l'objet :
foreach (Process procAfter in mesProcAfter)
{
// Parcours des processus avant instanciation de l'objet :
isMyProc = true;
foreach (Process procBefore in mesProcBefore)
{
// Si je le retrouve, ce n'est pas celui que je cherche :
if (procAfter.Id == procBefore.Id)
{
isMyProc = false;
break;
}
}
// J'ai retrouvé mon processus :
if (isMyProc)
{
result = procAfter.Id;
break;
}
}
}
return result;
} |