SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
2010-11-23 22:29
435 查看
NONCLIENTMETRICS ncms = {0} ;
ncms.cbSize =
sizeof(NONCLIENTMETRICS);
int s = sizeof(NONCLIENTMETRICS);
BOOL
b = SystemParametersInfo (SPI_GETNONCLIENTMETRICS, (int)&s,
&ncms, 0);
DWORD dw = GetLastError();
上
面这段代码在VC 6.0 中工作正常,但是在VC 2008 里 SystemParametersInfo 返回 0,而 GetLastError
返回的却是 0
简单订正如下:
ncms.cbSize = sizeof(NONCLIENTMETRICS)
- sizeof(ncms.iPaddedBorderWidth);
实
际是由于从 Vista 和 Windows Server 2008 开始 NONCLIENTMETRICS
在最后增加了iPaddedBorderWidth字段,如果你的程序打算同时支持 vista 或 XP ,Windows 2000,
Windows Server 2003,那么应该先调用 GetVersionEx 检测Windows版本,然后决定是否需要减去 sizeof
(ncms.iPaddedBorderWidth) ;
参考: http://msdn.microsoft.com/en-us/library/ms724506(VS.85).aspx
ncms.cbSize =
sizeof(NONCLIENTMETRICS);
int s = sizeof(NONCLIENTMETRICS);
BOOL
b = SystemParametersInfo (SPI_GETNONCLIENTMETRICS, (int)&s,
&ncms, 0);
DWORD dw = GetLastError();
上
面这段代码在VC 6.0 中工作正常,但是在VC 2008 里 SystemParametersInfo 返回 0,而 GetLastError
返回的却是 0
简单订正如下:
ncms.cbSize = sizeof(NONCLIENTMETRICS)
- sizeof(ncms.iPaddedBorderWidth);
实
际是由于从 Vista 和 Windows Server 2008 开始 NONCLIENTMETRICS
在最后增加了iPaddedBorderWidth字段,如果你的程序打算同时支持 vista 或 XP ,Windows 2000,
Windows Server 2003,那么应该先调用 GetVersionEx 检测Windows版本,然后决定是否需要减去 sizeof
(ncms.iPaddedBorderWidth) ;
参考: http://msdn.microsoft.com/en-us/library/ms724506(VS.85).aspx
相关文章推荐
- SystemParametersInfo (SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- SystemParametersInfo ( SPI_GETNONCLIENTMETRICS...)在VC 2008 里不能正常工作
- SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- SystemParametersInfo 在VC6.0正常,在VC 2008 里不能正常工作 的解决办法
- SystemParametersInfo (SPI_GETNONCLIENTMETRICS ... 返回false的原因分析
- SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 出错。不同系统或者不同版本VS
- MFC特定函数的应用20160720(SystemParametersInfo,GetWindowRect,WriteProfileString,GetSystemMetrics)
- SystemParametersInfo GetSystemMetrics
- GetSystemMetrics与SystemParametersInfo
- SystemParametersInfo获取桌面工作区域
- VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
- SystemParametersInfo 在VS 2008里异常
- jQuery 1.4.2 getJSON() 不能正常工作的原因
- c++ winform 不能调用获取屏幕分辨率函数GetSystemMetrics的问题
- VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
- VC工作区间就不能正常打开问题解决方法
- VC MFC 中 Class Wizard 不能正常工作的时候几种处理方法
- 转:VC++获取屏幕大小第一篇 像素大小GetSystemMetrics