Hey Leute hab nen Problem mit den schreiben von werten in den speicher ...
hier ma grob der code der damit zusammen hängt
der compiler gibt keinen error aber die messagebox gibt immer den errorcode 0 aus weis aber leider nicht wofür der steht jemand ne id ?
hier ma grob der code der damit zusammen hängt
Code:
//die eingebundene dll
[DllImport("kernel32.dll")]
static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress,
byte[] lpBuffer, UIntPtr nSize, ref uint lpNumberOfBytesWritten);
// die Methode fürs Handle
Process[] Game_Processes = Process.GetProcessesByName(Settings1.Default.process);
while (Game_Processes.Length == 0)
{
Game_Processes = Process.GetProcessesByName(Settings1.Default.process);
}
Process Game = Game_Processes[0];
readHandle = OpenProcess(0x10, false, (uint)Game.Id);
writeHandle = OpenProcess(0x0008, false, (uint)Game.Id);
if (writeHandle == null)
{
MessageBox.Show("Writehandle nicht erstellt.", "Fehler!");
return;
}
//
// Und hier den teil mit dem auslesen
//
static uint size = sizeof(int);
uint rw = 0;
int value = 10000;
byte[] bytes2 = new byte[4];
bytes2 = BitConverter.GetBytes(value);
bool write;
write = WriteProcessMemory(writeHandle, (IntPtr)adress, bytes2, (UIntPtr)size, ref rw);
if (write)
MessageBox.Show("Write erfolgreich!");
else if (!write)
{
int error = Marshal.GetLastWin32Error();
MessageBox.Show(" Write Fehlgeschlagen. Errorcode: " + error.ToString(), "Fehler!");
return;
}