截至目前,我正在使用while(true)方法來檢測內存中的更改。這個問題是它殺死了應用程序的性能。我列出了30個需要儘快檢查變化的指針,而不會犧牲巨大的性能損失。任何人有關於此的想法?循環檢測更改的更好方法
編輯**這個想法是在運行在線射擊遊戲時檢測由某些應用程序引起的內存變化。不是真正的反作弊,但它是沿着這條線。
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! – 2010-03-30 18:16:15
Convert.ToChar(「,」) - 你知道單引號定義了一個char權限嗎?所以','會是同樣的事情。 – thorkia 2010-03-30 18:56:48