ReadProcessMemory(): seltsamer Fehler[gelöst]
-
Hallo,
ich arbeite gerade an einem eigentlich ganz einfachen Programm: es liest die Adresse einer Variable eines anderen Programmes[hier MineSweeper] aus einer .txt-datei ein und liest deren Wert mit ReadProcessMemory aus.mein Problem dabei ist Folgendes:
folgender Code funktioniert fehlerfrei und ich erhalte den richtigen Wert:
HWND hwnd=FindWindow(0, L"MineSweeper"); HANDLE process=rechte_holen(hwnd); /* rechte_holen() ist eine selbstgeschriebene Funktion aus einer dll die mir alle zum Lesen und Schreiben benötigten Rechte am Prozess fehlerfrei besorgt */ DWORD adresse=0x1005194; unsigned int read_buffer; ReadProcessMemory(process, reinterpret_cast<void*>(adresse), &read_buffer, sizeof(unsigned int), 0); cout<<"gelesen: "<<read_buffer<<endl;wie gesagt das Codebeispiel funktioniert einwandfrei und liefert mir auch den gewünschten Wert

Das Problem [errorcode 299 = ERROR_PARTIAL_COPY] tritt auf, wenn ich die Zieladresse über fstreams aus einer Textdatei(.txt) einlese:
in der Zieldatei steht die Adresse im folgenden Format:
Textdatei schrieb:
1005194
das folgende Beispiel enthält die (gekürzte) Version meiner Einlesemethode:
//Zeile einlesen: ifstream lesen("C://test/test.txt"); string zeile; getline(lesen, zeile); //eingelesene Zeile über Stringstreams mit hex-Manipulator nach DWORD konvertieren: stringstream sstr; DWORD adresse; sstr<<zeile; sstr>>hex>>adresse; //zur Kontrolle Ausgabe der Adresse: cout<<adresse<<endl; //und hier kommt auch wie erwünscht 1005194 heruas!! /*der Rest des Codes ist genau wie im obigen Beispiel mit ReadProcessMemory() usw, ich will ihn hier nur nicht doppelt schreiben ;) */In diesem Beispiel gibt GetLastError() nach ReadProcessMemory() den Fehlercode 299 (ERROR_PARTIAL_COPY) aus;
aber warum
der einzige Unterschied ist dass oben 0x1005194 steht und unten nur 1005194 herauskommt.woran liegt das denn mit dem errorcode 299 und was muss ich anders machen?
edit: wenn ich im oberen codebeispiel das 0x weglasse kommt übrigens derselbe Fehler!
danke schonmal,
andi01.
-
hat sich erledigt, ich habe das problem jetzt selbst gelöst...
mfg,
andi01.