我想运行软件时知道系统是是98 的 还是2000的,或者XP的,用什么函数啊?
解决方案 »
- 请高人解释下typedef (WINAPI * HUNG_FUNNT) (HWND)
- edit控件文本全选问题
- 本想把一个线程sleep,让其他线程运行,可是,怎么不是这样呢?help
- 以.z为后缀名的压缩文件怎么能实现批量解压呢?
- 关于CSocket 实现TCP的功能-----谁能详细说一下吗?
- 请教关于多列排序的算法。(高手请进)谢谢
- 急!急!急! FTP上传图片后打不开,不显示,求高人指点!!!
- >>>>> 会者不难!如何在动态连接库中CreateDialog()……
- 我new了几支GUIThread,可没法把它删干净.怎么办?
- 用WINAPI怎样读写一个文件(用二进制形式)
- MFC下窗口传值 请帮忙解决 谢谢!
- 一个关于GDI绘制图片变色的问题
//osinfo.dwOSVersionInfoSize =sizeof(OSVERSIONINFO);
if(GetVersionEx(&osinfo) != 0)
{
AfxMessageBox("Can not obtain operating system information!");
return TRUE;
}
if(osinfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
AfxMessageBox("Operating system is Windows NT!");
}
else if(osinfo.dwPlatformId == VER_PLATFORM_WIN32s)
{
AfxMessageBox("Operating system is Windows 3X!");
}
else if(osinfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
if(osinfo.dwMinorVersion ==0) AfxMessageBox("Operating system is Windows 95!");
else AfxMessageBox("Operating system is Windows 98!");
}
else
{
AfxMessageBox("Can not identify the type of Operating system!");
GetDlgItem(IDOK)->EnableWindow(FALSE);
}
为什么得到的总是 Can not identify the type of Operating system!错在哪里啊?
如果去掉//,则Can not obtain operating system information,干脆不能获得信息。
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;
}