在重构CoreLooper编写unit test时遇到一个场景,需要从OnMessage返回指针
long OnMessage(UINT msg,WPARAM wp,LPARAM lp)
即使是x64下vs的long仍然是32bit,详见https://blog.csdn.net/sky_qing/article/details/11650497
导致OnMessage无法返回指针,只能修改原型
重新审视了Microsoft的SendMessage
LRESULT WINAPI SendMessage( _In_ HWND hWnd, _In_ UINT Msg, _In_ WPARAM wParam, _In_ LPARAM lParam );
这个API原型是30多年前制订的,能很方便的兼容x64,非常佩服。