Windows Creators Update Crashing Old C ++ Applications

We have some old C ++ Windows apps that stopped working after Windows Creators update. Like many C ++ developers, we created C ++ wrappers that encapsulated the Windows API. We saved and retrieved our pointers to this via Set / GetWindowsLongPtr () like this (see here for more information on how to do this):

Window=(cWindow*) GetWindowLongPtr(hWnd,GWLP_USERDATA);

      

This has worked well for about 20 years now, but with this latest Windows update, I see rogue messages in our message loop that are not from our windows. GetWindowsLongPtr () returns a pointer that is not ours, causing all sorts of memory access problems. So far I have seen that the class name of these rogue windows is "UserAdapterWindowClass" so I can filter message handling based on that (my crappy job).

What is this new Windows class? What is the purpose? Are there others?

+3


source to share





All Articles