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] call dword ptr ss:[DLLFunc] end; end;