U
Hey C++ Community,
ich versuche gerade die ShowWindow()-Funktion mit folgendem Code zu detouren:
#include <windows.h>
#include "detours.h"
int (WINAPI * Real_ShowWindow)(HWND hWnd, int nCmdShow) = ShowWindow;
int WINAPI DetouredDialog(HWND hWnd, DWORD nCmdShow)
{
MessageBox(NULL, "DIALOG CREATED!", NULL, NULL);
return Real_ShowWindow(hWnd, nCmdShow);
}
int WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
{
DetourFunction((PBYTE)ShowWindow,(PBYTE)DetouredDialog);
break;
}
case DLL_PROCESS_DETACH:
{
DetourRemove((PBYTE)ShowWindow, (PBYTE)DetouredDialog);
break;
}
} return true;
}
Wenn ich jetzt jedoch die DLL z.B. in den Rechner injiziere, hängt sich dieser beim öffnen des Info / About Fensters auf..
Ich möchte lediglich eine Nachricht ausgeben bevor das Fenster angezeigt wird
Und wann ist es sinnvoll DetourFunctionWithTrampoline anstatt der normalen DetourFunction anzuwenden?
Danke im Voraus