Macro für Funktion



  • Hi

    Ist es möglich durch ein Macro folgenden String:

    int MessageBoxA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType)
    

    in folgende Funktion umzuwandlen:

    int _stdcall MessageBoxAF(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType)
    {
    	Logger::log(Formatter::format("MessageBoxA","HWND",hWnd,"LPCSTR",lpText,"LPCSTR",lpCaption,"UINT",uType,"END"));
    	return MessageBoxAT(hWnd,lpText,lpCaption,uType);
    }
    

    MfG Joe



  • des is kei string,sonder int!!


  • Mod

    #define MessageBoxA MessageBoxAF

    Die Frage ist wie Du das Original dann aufrufen möchtest... in dem Fall #undef nicht vergessen.

    API-Hooking ist eine andere Mögichkeit. John Robbins beschreibt das mit HookImportedFunctionsByName seiner Bugslayer Utilities.



  • Hi

    Folgendes wäre ja möglich:

    macroformat(int,MessageBoxA,HWND,hWnd,LPCSTR,lpText,LPCSTR,lpCaption,UINT,uType)
    

    Nur eben müsste ich jede API Funktion mit Kommas unterteilen, was sehr umständlich ist. Gibt es nicht die Möglichkeit einen String in einem Macro zu unterteilen?

    MfG Joe


Anmelden zum Antworten