На данный момент я использую метод while (true) для обнаружения изменений в памяти. Проблема заключается в том, что это убивает производительность приложений. У меня есть список из 30 указателей, которые нужно проверять как можно быстрее для изменений, не жертвуя огромной потерей производительности. У кого есть идеи по этому поводу?Лучший способ петли для обнаружения изменений
EDIT ** Идея заключается в обнаружении изменений в памяти, вызванных определенными приложениями при запуске онлайн-шутера. На самом деле это не анти-чит, но это именно так.
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
'catch {}' ... Egads! –
Convert.ToChar (",") - Вы знаете, что одинарные кавычки определяют символ? Итак, ',' было бы то же самое. – thorkia