Hi
Ich schreibe gerade ein Programm in C#.
Das proggi liest Werte aus dem Ram. Hier mal ein Stück Code:
Dann hab ich ein Button gemacht, der folgendes tut:
Wenn ich jetzt den Button einfach mit der Enter Taste
gedrückt halte, so dass die Funktion sehr schnell nacheinander
ausgeführt wird, ist alles OK.
Wenn ich aber
schreibe, dann gibts dauernd (aber nicht immer) Fehlermeldungen.
Und zwar bei der Funktion ReadProcessMemory:
Irgendwie überschneidet sich das ganze oder so. Keine Ahnung.
Aber hoffe ihr habt eine Idee wie ich das auf eine gute Art
lösen kann.
Danke!
mfg Juhu
Ich schreibe gerade ein Programm in C#.
Das proggi liest Werte aus dem Ram. Hier mal ein Stück Code:
Code:
public class Memory { [DllImport("kernel32.dll")] static extern bool ReadProcessMemory(IntPtr hProcess, int lpBaseAddress, Byte[] lpBuffer, int nSize, Byte lpNumberOfBytesRead); public static float ReadFloat(int Adress) { Byte[] data = new Byte[255]; try { ReadProcessMemory(proc.Handle, Adress, data, data.Length, 0); } catch(Exception e) { MessageBox.Show("Fehler beim Lesen im RAM: " + e.Message , "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); } return BitConverter.ToSingle (data, 0); } } public class Player { public static float X { get { return Memory.ReadFloat(dwPlayerBase + dwPlayerX); } } }
Dann hab ich ein Button gemacht, der folgendes tut:
Code:
float var1 = Player.X;
gedrückt halte, so dass die Funktion sehr schnell nacheinander
ausgeführt wird, ist alles OK.
Wenn ich aber
Code:
float var1 = Player.X; float var2 = Player.X; float var3 = Player.X; float var4 = Player.X;
Und zwar bei der Funktion ReadProcessMemory:
Irgendwie überschneidet sich das ganze oder so. Keine Ahnung.
Aber hoffe ihr habt eine Idee wie ich das auf eine gute Art
lösen kann.
Danke!
mfg Juhu
Comment