我期待vista/win7使用Aero风格的窗户,而XP用户使用正常的窗口风格(如何获得Windows XP stlye而不是win95风格btw?)更改基于windows的控件的视觉风格版本
的想法是这样的:
OSVERSIONINFOEX osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
GetVersionEx((OSVERSIONINFO*)&osvi);
if (osvi.dwMajorVersion > 5) {
#pragma comment(linker,"/manifestdependency:\"type='win32' "\
"name='Microsoft.Windows.Common-Controls' "\
"version='6.0.0.0' "\
"processorArchitecture='x86' "\
"publicKeyToken='6595b64144ccf1df' "\
"language='*' "\
"\"")
}
现在,使用#pragma被执行不管if语句是真的还是假的,我的猜测是现在的样子的#pragma作品。当然还有一些其他的方式来得到这个工作(类似的#ifndef的#define ... #ENDIF我猜)
干杯
您正试图将编译时操作与运行时条件混合使用。 – SLaks 2011-01-09 17:21:55
另外,你为什么要这样做? – SLaks 2011-01-09 17:22:17