<exdisp.h> is not self-contained: its forward declarations use the \interface\ macro, which is only defined in <combaseapi.h> via the <objbase.h> include chain. Qt headers do not provide <windows.h>, so including <exdisp.h> first caused C2146/C2371 parse errors on MSVC and broke all IShellWindows usages. Include <objbase.h> as a prelude.