Hallo,<p>
die Frage bezieht sich auf die verlohrengegangene Diskussion "Prüfen ob ein Modul eine Funktion importiert". Am Ende dieser Diskussion hat mir Hagen noch einge Tipps u.a. zur PUSH-Anweisung mit auf den Weg gegeben. Ich hab da noch einige Fragen, die noch nicht beantwortet sind...
<p>
<b>@Hagen:</b> Zuersteinmal Danke für die umfrangreichen Informationen zu dem Thema. Hat mich ein Stück weitergebracht und hat mir neue Wege eröffnet. Danke. Trotzdem habe ich mich für den Weg mit der PUSH-Anweisung entschieden. Zwar ist laut Debugger der Quellcode fehlerfrei, trotzdem tut er nicht das, was er machen soll. Ich denke mal, ich hab in den wenige C-Zeilen was übersehen.
<P>
Hier nocheinmal der C-Quelltext (bei dem ich hänge):
<pre>
const BYTE cPushCode = 0x86;
PROC pfnCurrent = NULL;
BOOL fFound = FALSE;
PROC ppfn = NULL;
<p>
...
PBYTE pbInFunc = (PBYTE) *ppfn
if (pbInFunc[0] == cPushCode) {
ppfn = (PROC*) &pbInFunc[1];
fFound = (*ppfn == pfnCurrent);
}
</pre>
pfnCurrent und ppfn werden natürlich vorher über GetModuleHandle mit den entsprechenden Werten gefüllt.
<p>
Ich hoffe, es kann mir diesen C-Code jemanden nach Delphi übersetzten. (ich vergleich den dann mit meiner Übersetzung und schau wo der Fehler liegt) Wer echt super, wenn mir da jemand weiterhelfen kann (ist wirklich nicht leicht)...
die Frage bezieht sich auf die verlohrengegangene Diskussion "Prüfen ob ein Modul eine Funktion importiert". Am Ende dieser Diskussion hat mir Hagen noch einge Tipps u.a. zur PUSH-Anweisung mit auf den Weg gegeben. Ich hab da noch einige Fragen, die noch nicht beantwortet sind...
<p>
<b>@Hagen:</b> Zuersteinmal Danke für die umfrangreichen Informationen zu dem Thema. Hat mich ein Stück weitergebracht und hat mir neue Wege eröffnet. Danke. Trotzdem habe ich mich für den Weg mit der PUSH-Anweisung entschieden. Zwar ist laut Debugger der Quellcode fehlerfrei, trotzdem tut er nicht das, was er machen soll. Ich denke mal, ich hab in den wenige C-Zeilen was übersehen.
<P>
Hier nocheinmal der C-Quelltext (bei dem ich hänge):
<pre>
const BYTE cPushCode = 0x86;
PROC pfnCurrent = NULL;
BOOL fFound = FALSE;
PROC ppfn = NULL;
<p>
...
PBYTE pbInFunc = (PBYTE) *ppfn
if (pbInFunc[0] == cPushCode) {
ppfn = (PROC*) &pbInFunc[1];
fFound = (*ppfn == pfnCurrent);
}
</pre>
pfnCurrent und ppfn werden natürlich vorher über GetModuleHandle mit den entsprechenden Werten gefüllt.
<p>
Ich hoffe, es kann mir diesen C-Code jemanden nach Delphi übersetzten. (ich vergleich den dann mit meiner Übersetzung und schau wo der Fehler liegt) Wer echt super, wenn mir da jemand weiterhelfen kann (ist wirklich nicht leicht)...
Comment