2011-02-23 38 views
0

提到这个答案How to enable visual styles without a manifest我如何启用视觉样式没有明显

做什么,回答说:创建一个和启用视觉样式。但是我不希望清单文件与我的.exe文件绑定 - 我只提供我的可执行文件,并且希望捆绑在那里的所有东西。

有没有一种方法来启用视觉样式没有清单或可能通过将清单内嵌入可执行文件本身?

+1

我以为有可以在可执行文件中嵌入清单的工具,因此您不需要手动复制清单文件... http://msdn.microsoft.com/zh-cn/library/ms235591( v = vs80).aspx – 2011-02-23 18:13:05

+0

@Andre:太棒了!你可以添加一个答案吗? – 2011-02-23 18:17:19

+0

噢,首先应该做到这一点:-) – 2011-02-23 19:06:30

回答

4

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

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 

+0

这段代码将创建一个.manifest,可执行文件将需要它来启用视觉样式。所以如果我把可执行文件移到其他地方,我会失去视觉样式。 – 2011-02-23 18:05:47

+0

Visual Studio将默认项目设置嵌入生成的清单wuth此附注。 – 2011-02-23 22:17:43

相关问题