ReadProcessMemory_ und der Speicheradress Bereich...

Anfängerfragen zum Programmieren mit PureBasic.
Glow
Beiträge: 45
Registriert: 31.01.2005 01:36

ReadProcessMemory_ und der Speicheradress Bereich...

Beitrag von Glow »

Hi

Ich steh grad tierisch auf dem Schlauch. Also, ich würde gerne einen Speziellen Speicherbereich einlesen. Wie muss nun der Adresswert in Verbindung mit der API aussehen ? Weil das hier funzt irgendwie nicht :

Code: Alles auswählen

ReadProcessMemory_(Var1, 0x00000000, @Var2, sizeof(Var2), @Var3);
Ok, das es 0x00000000 nicht gibt, ist schon klar, aber wie kann ich PB verständlich machen, welchen Adressbereich ich meine ?

Edit: Ohje...ich glaub ich habs schon: $00000000 wäre die PB Schreibweise denke ich :/

Gruß
Glow
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Zahlen, denen ein $-zeichen vorangestellt sind, sind HEx-zahlen in PB.
Damit kann man prima Farbwerte erzeugen: $FF0000 (rot), $00FF000, (grün), $0000FF (blau).

Ich glaube auch, dass der "Trick" den du gefunden hast, der richtige Weg ist. :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Edit: Ohje...ich glaub ich habs schon: $00000000 wäre die PB Schreibweise denke ich :/
Stimmt, kannste aber auch als long übergeben

Code: Alles auswählen

*Buffer = AllocateMemory(1000) ; 1000 als Beispiel

If *Buffer
  If Not ReadProcessMemory_(hProcess.l, BaseAdress.l, *Buffer, MemorySize(*Buffer), 0)
    Debug GetLastError_()
  EndIf
  ; bla bla
  FreeMemory(*Buffer)
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten