In this particular case, I'm in the OnCreate(LPCREATESTRUCT) handler for my frame class, after calling the base class. It's possible that the visual styles haven't yet been applied, but I'm not sure when they happen. I did a quick 'hack' where I post a message to myself in the OnCreate handler and when I handle that message, send the WM_GETTITLEBARINFOEX message again, and at that point the data seems correct. So maybe I'm just calling it too early in the creation of the frame.