@snuffmaster23:
ich glaube du bist irgendwo in der
win9x-zeit hängen geblieben ... ^^
[edit]Aber im grunde hast du recht, jedes programm hat unter nt-systemen seinen eigenen adressraum, in dem es tun und lassen kann was es will
Daher kann es mit sehr hoher wahrscheinlichkeit auch passieren, dass das Programm jedesmal an exakt die gleiche Stelle geladen wird, und somit auf vielen rechnern läuft, und durch zufall auf einem anderen nicht, weil in diesen ein modul mehr geladen ist, und das den speicher schon irgendwo besetzt -> diverse variablen werden an anderen stellen alloziert -> problem für trainer ...[/edit]
@bundy:
Ich vermute also, dass du das modulehandle des modules benötigst, dem der speicherbereich "gehört". Naja, theoretisch gesehen könntest du das via GetModuleHandle das betreffliche
handle erfahren, allerdings nur, wenn du dich IM fremden Prozess befindest ... und sobald du sowas versuchst, wirds kompliziert.
Also musst du wohl EnumProcessModules verwenden, die daraus resultierenden module-handles sollten die Startadressen der geladenen Module (z.B. dlls) sein.
Die könntest du als Anhaltspunkte verwenden, allerdings würde ich es nicht darauf ankommen lassen (ich hab diese methode verwendet, um aus relativen funktions-adressen absolute adressen zu bekommen, soweit funktioniert das, aber ob du das auch mit den adressen irgendwelcher, möglicherweise dynamisch allozierter variablen machen kannst, ist eine andere frage).
ciao, Philipp