如何用MFC获取操作系统版本和语言版本 操作系统版本分为:Windows 98/ME/2000/XP/Server 2003语言版本分为:简体中文、繁体中文和英文谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我刚刚开始接触MFC很多问题不知道啊请见谅 OSVERSIONINFOEX osinfo;osinfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX);if(GetVersionEx((OSVERSIONINFO*)&osinfo)){.........................}看MSDN!!! 那你用这个吧C/C++运行期全局变量,拿过来直接用就可以了 变量名 类型 说明 _winmajor unsigned int 采用十六进制表示法的windows主要版本, 对于windows2000来说,它的值是5 _winminor unsigned int 采用十六进制表示法的windows次要版本, 对于windows2000来说,它的值是0语言版本,我不知道怎么得到。 帮你顶。不过你还是应该去看看MSDN。 //判断操作系统涵数及变量,jingzhou xutypedef enum tagWin32SysType{ Windows32s, WindowsNT3, Windows95, Windows98, WindowsME, WindowsNT4, Windows2000, WindowsXP}Win32SysType;//判断操作系统涵数及变量,jingzhou xuWin32SysType 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;} VC 粘贴板中图文数据的提取 能解决问题者 80%分,顶贴者 分享20% 软件开发技术与外包群:40041627 关于socket 连接池的应用 如何能用二维数组做函数的形参? 为什么vc8编译vc6的工程这么多的错误? 用VC操作Excel遇到的问题 如何一拔掉网线我的程序就可以马上得到通知? 找对地方啦,问一下怎么不使用navigate2函数直接显示网页? List Control控件 哪位大侠有WIN2000 DDK开发包的安装程序下载地址啊,100分送上 IO读写 见鬼了。。VARIANT-->CSTRING
很多问题不知道啊请见谅
osinfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX);
if(GetVersionEx((OSVERSIONINFO*)&osinfo))
{
.........................
}看MSDN!!!
C/C++运行期全局变量,拿过来直接用就可以了 变量名 类型 说明
_winmajor unsigned int 采用十六进制表示法的windows主要版本,
对于windows2000来说,它的值是5
_winminor unsigned int 采用十六进制表示法的windows次要版本,
对于windows2000来说,它的值是0语言版本,我不知道怎么得到。 帮你顶。不过你还是应该去看看MSDN。
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;
}