如何在没有清单的情况下启用视觉样式

时间:2011-02-23 17:58:06

标签: c++ c winapi

我指的是这个答案How to enable visual styles without a manifest

做那些答案所说的创建.manifest并启用视觉样式。但是我不希望清单与我的.exe绑定 - 我只提供我的可执行文件,并希望捆绑在那里的所有内容。

有没有办法在没有清单的情况下启用视觉样式,或者可能通过将清单嵌入可执行文件本身?

2 个答案:

答案 0 :(得分:4)

使用mt.exe将清单作为资源嵌入可执行文件中。这是自VS2005以来构建的标准部分,如果您在正确设置时遇到问题,请使用项目模板。

答案 1 :(得分:2)

将其添加到stdafx.h文件的末尾:


#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_IA64

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' 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