procedure PostMessageTrampoline(hWnd : HWND; UINT : Msg; WPARAM : wParam; LPARAM : lParam); var DLLFunc : TDLLFunc; begin DLLFunc := GetProcAddress(GetModuleHandle('user32.dll'), 'PostMessageA') + 5; asm push dword ptr ss:[lParam] push dword ptr ss:[wParam] push dword ptr ss:[Msg] push dword ptr ss:[hWnd] push @@return mov edi, edi push ebp mov ebp, esp jmp dword ptr ss:[DLLFunc] @@return: end; end;