Es ist so..
PIMAGE_NT_HEADERS = ^IMAGE_NT_HEADERS;
^IMAGE_NT_HEADERS verzweigt unter 64Bit auf
IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64;
sollte also der richtige record sein.
geht aber trotzdem nicht.
Dein Schnipsel hilft mir bei den Problem nicht.
trotzdem Danke für das raussuchen.
EDIT:
So wie ich sagte der Header der 64Bit Anwendung hat nichts mit dem Header der 32Bit
DLL's zu tun.
Es geht deshalb nicht weil Delphi mir den Header verdreht! Ich brauche den für 32Bit nicht den für 64Bit. Der Header einer 64Bit-
DLL interessiert mich nicht!
Er macht aus IMAGE_NT_HEADERS =
IMAGE_NT_HEADERS64 es muß aber IMAGE_NT_HEADERS32 sein denn die
DLL die ich auslese ist 32Bit nicht 64Bit!
Siehe!
Zitat:
Nochmal. Ich habe eine 64Bit Anwendung die soll eine 32Bit.dll einlesen und mir den Export Namen davon zurückgeben.
Was hat jetzt die 64Bit Anwendung mit dem Header zu tun der wird doch aus der 32Bit
DLL ausgelesen.
Nach dieser Änderung funktioniert es jetzt.
Delphi-Quellcode:
PIMAGE_NT_HEADERS = ^IMAGE_NT_HEADERS32; // Das hier "^IMAGE_NT_HEADERS" wurde von Delphi auf 64Bit verdreht deshalb ging es nicht.
PIMAGE_EXPORT_DIRECTORY = ^IMAGE_EXPORT_DIRECTORY;