ReadProcessMemory mit ctypes

im arbeiten auf ein wenig solitär-trainer. Ich weiß nicht, warum die Funktion ReadProcessMemory nicht funktioniert. Normalerweise gibt es eine Wahr oder Falsch, aber in diesem Fall nichts. Der GetlastError() gibt mir den Fehlercode 6.

#-*- coding: cp1252 -*-

import ctypes, win32ui, win32process ,win32api

PROCESS_ALL_ACCESS = 0x1F0FFF
HWND = win32ui.FindWindow(None,"Solitär").GetSafeHwnd()
print(HWND)
PID = win32process.GetWindowThreadProcessId(HWND)[1]
print(PID)
PROCESS = win32api.OpenProcess(PROCESS_ALL_ACCESS,0,PID).handle

rPM = ctypes.windll.kernel32.ReadProcessMemory
wPM = ctypes.windll.kernel32.WriteProcessMemory

ADDRESS1 = 0x00E97074
ADDRESS2 = ctypes.create_string_buffer(64)
pi = ctypes.pointer(ADDRESS2)
rPM(PROCESS,ADDRESS1,ADDRESS2,64,0)
print(ADDRESS2)
x=ctypes.windll.kernel32.GetLastError()
print(x)
Erste, was zu versuchen, ist die Einstellung der Rückgabetyp der Funktionen in ctypes. Wenn Sie nicht setzen es standardmäßig int und du hast bool. Zweite ist, dass ctypes ist wirklich für C und ist das nicht eine C++ - Bibliothek? Wenn das der Fall ist könnte man schreiben C-wrapper-Funktionen.
Python-version (sieht aus wie 3.X)? Windows-version? 32 - oder 64-bit?
Es ist Python 3.2 und Win7 32bit! Was genau ist eine C++ - Bibliothek?

InformationsquelleAutor John Doe | 2012-10-03

Schreibe einen Kommentar