如何用MFC获取操作系统版本和语言版本

Smallfrogs 2003-11-18 09:13:26
操作系统版本分为:Windows 98/ME/2000/XP/Server 2003
语言版本分为:简体中文、繁体中文和英文

谢谢
...全文
955 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sujiayi 2003-11-20
  • 打赏
  • 举报
回复
//判断操作系统涵数及变量,jingzhou xu
typedef enum tagWin32SysType{
Windows32s,
WindowsNT3,
Windows95,
Windows98,
WindowsME,
WindowsNT4,
Windows2000,
WindowsXP
}Win32SysType;

//判断操作系统涵数及变量,jingzhou xu
Win32SysType IsShellSysType()
{
Win32SysType ShellType;
DWORD winVer;
OSVERSIONINFO *osvi;

winVer=GetVersion();
if(winVer<0x80000000){/*NT */
ShellType=WindowsNT3;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L)ShellType=WindowsNT4;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==0L)ShellType=Windows2000;
else if(osvi->dwMajorVersion==5L&&osvi->dwMinorVersion==1L)ShellType=WindowsXP;
free(osvi);
}
}
else if (LOBYTE(LOWORD(winVer))<4)
ShellType=Windows32s;
else{
ShellType=Windows95;
osvi= (OSVERSIONINFO *)malloc(sizeof(OSVERSIONINFO));
if (osvi!=NULL){
memset(osvi,0,sizeof(OSVERSIONINFO));
osvi->dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
GetVersionEx(osvi);
if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==10L)ShellType=Windows98;
else if(osvi->dwMajorVersion==4L&&osvi->dwMinorVersion==90L)ShellType=WindowsME;
free(osvi);
}
}

return ShellType;
}
Smallfrogs 2003-11-20
  • 打赏
  • 举报
回复
谢谢各位

我继续看看

sungengyu 2003-11-20
  • 打赏
  • 举报
回复
那你用这个吧
C/C++运行期全局变量,拿过来直接用就可以了

变量名 类型 说明
_winmajor unsigned int 采用十六进制表示法的windows主要版本,
对于windows2000来说,它的值是5
_winminor unsigned int 采用十六进制表示法的windows次要版本,
对于windows2000来说,它的值是0

语言版本,我不知道怎么得到。 帮你顶。不过你还是应该去看看MSDN。
sungengyu 2003-11-18
  • 打赏
  • 举报
回复
要学会看MSDN,一定要学会!
askppp 2003-11-18
  • 打赏
  • 举报
回复
OSVERSIONINFOEX osinfo;
osinfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX);
if(GetVersionEx((OSVERSIONINFO*)&osinfo))
{
.........................
}

看MSDN!!!
Smallfrogs 2003-11-18
  • 打赏
  • 举报
回复
我刚刚开始接触MFC
很多问题不知道啊

请见谅
ddddh 2003-11-18
  • 打赏
  • 举报
回复
楼主太懒!
Smallfrogs 2003-11-18
  • 打赏
  • 举报
回复
具体怎么用
能否举个例子?
xzbj0001 2003-11-18
  • 打赏
  • 举报
回复
GetVersionEx
VerifyVersionInfo

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧