Ja, ich weiß, dass es darüber viele Tutorials gibt (naja, eher eins in vielen Ausführungen), das Problem aber ist, dass sie einfach nicht funktionieren 
Ich will einfach die Funktion Direct3DCreate9 systemweit hooken (detours 1.5)
Bislang habe ich das mit CreateProcess und FlashWindowEx sehr erfolgreich geschafft. Aber wenn ich das selbe mit Direct3DCreate9 versuche, passiert einfach garnichts
Dabei mache ich einfach nur folgendes:
DETOUR_TRAMPOLINE(IDirect3D9* WINAPI Real_Direct3DCreate9(UINT SDKVersion), Direct3DCreate9);
IDirect3D9* WINAPI Mine_Direct3DCreate9(UINT SDKVersion)
{
PlaySound(TEXT("SystemStart"), NULL, SND_ASYNC);
return Real_Direct3DCreate9(SDKVersion);
}
Das gleiche funktioniert bei FlashWindowEx allerdings - hier aber nicht.
Und natürlich habe ich nicht vergessen, die Funktion zu hooken.
Es muss an der Funktion selber liegen.
Natürlich habe ich auch ein Programm geschrieben, dass die Funktion einsetzt - an dem ich also ausprobieren kann, ob's funktioniert.
Aber warum geht das mit dieser Funktion nicht?

Ich will einfach die Funktion Direct3DCreate9 systemweit hooken (detours 1.5)
Bislang habe ich das mit CreateProcess und FlashWindowEx sehr erfolgreich geschafft. Aber wenn ich das selbe mit Direct3DCreate9 versuche, passiert einfach garnichts

Dabei mache ich einfach nur folgendes:
DETOUR_TRAMPOLINE(IDirect3D9* WINAPI Real_Direct3DCreate9(UINT SDKVersion), Direct3DCreate9);
IDirect3D9* WINAPI Mine_Direct3DCreate9(UINT SDKVersion)
{
PlaySound(TEXT("SystemStart"), NULL, SND_ASYNC);
return Real_Direct3DCreate9(SDKVersion);
}
Das gleiche funktioniert bei FlashWindowEx allerdings - hier aber nicht.
Und natürlich habe ich nicht vergessen, die Funktion zu hooken.
Es muss an der Funktion selber liegen.
Natürlich habe ich auch ein Programm geschrieben, dass die Funktion einsetzt - an dem ich also ausprobieren kann, ob's funktioniert.
Aber warum geht das mit dieser Funktion nicht?