Search code examples
c++windowsvisual-studiowinapicommon-controls

Windows Common Controls (Using specific version)


I need to use Windows Common Controls v6.0 to see new style UIs. I know I can do it by a manifest dependency but when I haven't access to the manifest (or source code... it's not my app but I have a DLL which will be attached to the process and every CommCtrls I need will be called from that DLL) what should I do to specify Windows Common Controls version for that process? Is there any API or someway to do it? [By the way, I'm using C++ & VS2015]


Solution

  • Try this in your DLL:

    #if defined(_M_IX86)
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined(_M_X64)
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif