A partir de maintenant, j'utilise une méthode while (true) pour détecter les changements de mémoire. Le problème avec ceci est qu'il tue les performances des applications. J'ai une liste de 30 pointeurs qui doivent être vérifiés aussi rapidement que possible pour les changements, sans sacrifier une énorme perte de performance. Quelqu'un a des idées à ce sujet?Meilleure façon de boucler pour détecter le changement
EDIT ** L'idée est de détecter les changements de mémoire provoqués par certaines applications lors de l'exécution d'un jeu de tir en ligne. Pas vraiment un anti-triche, mais c'est dans ce sens. Pourquoi faire une boucle entre les pointeurs pour trouver les changements?
memScan = new Thread(ScanMem);
public static void ScanMem()
{
int i = addy.Length;
while (true)
{
Thread.Sleep(30000); //I do this to cut down on cpu usage
for (int j = 0; j < i; j++)
{
string[] values = addy[j].Split(new char[] { Convert.ToChar(",") });
//MessageBox.Show(values[2]);
try
{
if (Memory.Scanner.getIntFromMem(hwnd, (IntPtr)Convert.ToInt32(values[0], 16), 32).ToString() != values[1].ToString())
{
//Ok, it changed lets do our work
//work
if (Globals.Working)
return;
SomeFunction("Results: " + values[2].ToString(), "Memory");
Globals.Working = true;
}//end if
}//end try
catch { }
}//end for
}//end while
}//end void
'attraper {}' ... Egads! –
Convert.ToChar (",") - Vous savez que les guillemets simples définissent un caractère juste? Donc ',' serait la même chose. – thorkia