首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

有关 OSVERSIONINFO 的有关问题

2012-05-01 
有关 OSVERSIONINFO 的问题OSVERSIONINFO osvichar buf[50]osvi.dwOSVersionInfoSize sizeof(OSVERSIO

有关 OSVERSIONINFO 的问题
OSVERSIONINFO osvi;
char buf[50];
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); //为什么要等于sizeof(..)?作用是什么
GetVersionEx( &osvi); //获取系统信息 为什么不适用特定的函数 为什么要去osvi的地址?
wsprintf(buf,"Win%d,%d",osvi.dwMajorVersion,osvi.dwMinorVersion);
m_version = buf;

以上标注的这两句话请高手帮忙解释一下 谢谢。




[解决办法]
第一个是为了保持系统的兼容性。在早期的WindowsAPI中并没有像现在这样能提供如此详尽的信息。但是随着系统的不断升级,这个结构体的内容也在扩充。在保证WindowsAPI对外接口不变的基础上,函数内部需要根据大小来判断是哪一个版本的windows系统信息定义。按照不同的定义来生成不同的系统信息结构。

热点排行