在我处理的Windows应用程序中,我们有一个直接位于Win32之上的自定义框架(不要问)。当我们创建一个窗口时,我们通常的做法是通过SetWindowLong(hwnd,GWL_USERDATA,this)将this放在窗口的用户数据区,这样我们就可以拥有一个MFC-类似回调或紧密集成的WndProc,具体取决于。问题是这在64位Windows上不起作用,因为LONG只有32位宽。对于这个问题,有什么更好的解决方案同时适用于32位和64位系统? 最佳答案 SetWindowLongPtr创建是为了替换SetWindowLong在这