SystemParametersInfo 在VS 2008里异常
来源:互联网 发布:.top新网域名有哪些 编辑:程序博客网 时间:2024/05/29 14:22
NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof(NONCLIENTMETRICS);
VERIFY(SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0));
ncm.cbSize = sizeof(NONCLIENTMETRICS);
VERIFY(SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0));
上面这段代码在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 在VS 2008里异常
- 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 (SPI_GETNONCLIENTMETRICS... 在VC 2008 里不能正常工作
- SystemParametersInfo 在VC6.0正常,在VC 2008 里不能正常工作 的解决办法
- SystemParametersinfo
- SystemParametersinfo
- 在VS.NET2005里设置制表符
- 如何在vs.net里调试脚本
- 如何在 VS 2005 里调试 Javascript
- 如何在 VS 2005 里调试 Javascript
- 如何在 VS 2005 里调试 Javascript
- 如何在vs.net里调试脚本
- C语言在VS里使用 inline
- SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 出错。不同系统或者不同版本VS
- 什么是Unicode
- 存储过程
- ASP.NET页面传值的各种方法和分析
- 用内存来虚拟一个块设备
- Oracle如何执行批量sql语句
- SystemParametersInfo 在VS 2008里异常
- 微软Dynamics系列认证-MCBMSP
- Android学习笔记(四)——is missing required source folder gen解决办法
- 八字节的长整型表示
- 纯文本的威力
- goto用法
- mysql存储引擎:InnoDB和MyISAM的差别/优劣评价/评测/性能测试
- Android模拟器调试与真机调试
- 合成基因的方式