Einzelnen Beitrag anzeigen

KarYn-To

Registriert seit: 28. Apr 2007
18 Beiträge
 
#1

Problem mit ReadProcessMemory unter Vista

  Alt 26. Aug 2007, 14:32
Huhu Leute,

ich hab folgendes Problem. Mein Programm liest über ReadProcessMemory Daten aus einem anderen Programm aus. Soweit klappt das Auslesen wunderbar und das Programm kann Tagelang laufen, die Routinen sind sehr gut abgehandelt und geschrieben. Jedoch ist da ein kleines Manko, was sich nicht beheben lässt.

Und zwar, wird unter Vista STRG+ALT+ENTF gedrückt erscheint dieser Bildschirm mit Computer sperren, Benutzer wechseln... etc. Task-Manager starten.

Genau zu diesem Zeitpunkt kann mein Programm nicht mehr im Speicher des anderen Programms lesen. Das Problem ist auch folgendes, ich überprüfe über ReadProcessMemory und GetLastError, ob der Process noch aktiv ist. Vielleicht der etwas unschönere Weg, gibt bestimm elegantere Lösungen.

Delphi-Quellcode:
    
ReadProcessMemory(StrToInt(ProcList.Strings[X]), Ptr($507F60), @fName, 100, bRead);
if (GetLastError = ERROR_ACCESS_DENIED) then
begin
...
Danach werden die Prozesse auf denen kein Zugriff mehr geschehen kann entfernt. Funktioniert alles über einen Timer.

Ich hoffe ihr könnt mir da weiterhelfen.
MfG Angelo =)
"Wenn du nicht bereit bist, für eine Sache zu sterben, dann solltest du Freiheit aus deinem Vokabular streichen" - Malcolm X
  Mit Zitat antworten Zitat