前阵子做的工程是VS2008的风格,但是不知道改了什么东西就风格变成原始VC6.0的了。
弄了半天,发现是选择了“Use Multi-Byte Character Set”选项,因为要做很多asc码的处理。
VC6中使用外部manifest文件,而vc10中自带有,在stdafx.h中有manifest选择。
下面是代码:
#ifdef _UNICODE
#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
#endif
只有UNICODE才有,注掉就OK了。但愿不会带来其他问题!