博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SystemParametersInfo ( SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
阅读量:3975 次
发布时间:2019-05-24

本文共 1246 字,大约阅读时间需要 4 分钟。

 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) ;

 

参考:

本文来自CSDN博客,转载请标明出处:

 

例如:

 

你可能感兴趣的文章
fastjson深度源码解析- 词法和语法解析(三) - 针对对象实现解析
查看>>
fastjson深度源码解析- 反序列化(一) - 反序列化解析介绍
查看>>
fastjson深度源码解析- 反序列化(二) - 内部注册反序列化解析
查看>>
通过爱效率网站获取百度统计数据说明
查看>>
百度统计接口调用——登录接口
查看>>
百度统计接口调用——获取站点列表
查看>>
百度统计接口调用——获取站点访问数据
查看>>
Java WEB开发基础知识
查看>>
[Java Web开发系列课程]从0.5开始学习Java Web开发(一):学习大纲
查看>>
birt标签的使用
查看>>
2012年1月8号订火车票历程
查看>>
My97日期控件
查看>>
30分钟3300%性能提升——python+memcached网页优化小记
查看>>
confmgr项目,django,dwz相关问题
查看>>
linux文件共享
查看>>
linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结(tar包解压)
查看>>
vi和vim区别
查看>>
程序员经典语录
查看>>
Django性能优化
查看>>
python模块学习 ---- smtplib 邮件发送
查看>>