首頁 skype uusee vagaa windows_media_player winrar wps xp
 您的位置:首页 > vagaa

windows操作系统|获取Windows操纵系统版本信息

//OSinfo.cpp:定义把握台应用程序的入口点。#includestdafx.h#include windows.h#include stdio.h#includewinsock.h#include string#include iostream using std:cout;using std:string;using std:iostream;using std
标签:系统,本机,地点,版本,变量,布局,主机名,说话,函数,补丁,信息,加载,定义,字符串,字节,的话,这是,程序,英文,转化为
关键字:
windows操作系统,windows7操作系统,windowsxp操作系统,windows xp操作系统,windows ce操作系统,windows98操作系统,windows操作系统ppt,windows的操作系统,正在获取版本信息,windows7自动获取ip
正文:
//OSinfo.cpp:
定义把握台应用程序的入口点。
#includestdafx.h#include windows.h#include stdio.h#includewinsock.h#include string#include iostream using std:
cout;using std:
string;using std:
iostream;using std:
endl;using std:
ios;using std:
fstream;using std:
ofstream;using std:
cin;#pragma comment(lib,Ws2_32.lib)#define MAX_VALUE_NAME 256//char osinfo[MAX_PATH][MAX_PATH];char patchname[MAX_VALUE_NAME];//全局变量char*LocalIP=;//定义IP地点变量//获取本机ip bool GetLocalIp(){WSADATA wsaData;char name[255];//定义用于存放获得的主机名的变量PHOSTENT hostinfo;//调用MAKEWORD()获得Winsock版本的精确值,用于加载Winsock库if(WSAStartup(MAKEWORD(2,2),&wsaData)==0){//如今是加载Winsock库,如果WSAStartup()函数返回值为0,阐明加载告成,程序可以连续if(gethostname(name,sizeof(name))==0){//如果告成地将本地主机名存放入由name参数指定的缓冲区中if((hostinfo=gethostbyname(name))!=NULL){//这是获取主机名,如果获得主机名告成的话,将返回一个指针,指向hostinfo,hostinfo//为PHOSTENT型的变量,下面即将用到这个布局体LocalIP=inet_ntoa(*(struct in_addr*)*hostinfo-h_addr_list);//调用inet_ntoa()函数,将hostinfo布局变量中的h_addr_list转化为标准的点分表现的IP//地点(如192.168.0.1)//printf(the ip is:
%sn,LocalIP);//输出IP地点}}WSACleanup();//卸载Winsock库,并释放扫数资源}return TRUE;}//呈现系统版本bool DisplaySystemVesion(FILE*fp){OSVERSIONINFOEX osvi;BOOL bOsVersionInfoEx;//利用OSVERSIONINFOEX布局调用GetVersionEx()函数//如果调用失败,可实行利用OSVERSIONINFO布局ZeroMemory(&osvi,sizeof(OSVERSIONINFOEX));osvi.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX);if(!(bOsVersionInfoEx=GetVersionEx((OSVERSIONINFO*)&osvi))){//osvi.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);if(!GetVersionEx((OSVERSIONINFO*)&osvi))return FALSE;}switch(osvi.dwPlatformId){case VER_PLATFORM_WIN32_NT:
//get os information if(osvi.dwMajorVersion==5&&osvi.dwMinorVersion==2){printf(Microsoft Windows Server 2003 family);//fprintf(fp,Microsoft Windows Server 2003 family);fprintf(fp,WindowsServer2003);//strcpy(osinfo[0],Microsoft Windows Server 2003 family);}if(osvi.dwMajorVersion==5&&osvi.dwMinorVersion==1){printf(Microsoft Windows XP);//fprintf(fp,Microsoft Windows XP);fprintf(fp,WindowsXP);//strcpy(osinfo[0],Microsoft Windows XP);}if(osvi.dwMajorVersion==5&&osvi.dwMinorVersion==0){printf(Microsoft Windows 2000);//fprintf(fp,Microsoft Windows 2000);fprintf(fp,Windows2000);//strcpy(osinfo[0],Microsoft Windows 2000);}if(osvi.dwMajorVersion=4){printf(Microsoft Windows NT);//fprintf(fp,Microsoft Windows NT);fprintf(fp,WindowsNT);//strcpy(osinfo[0],Microsoft Windows NT);}//if(bOsVersionInfoEx){if(osvi.wProductType==VER_NT_WORKSTATION){printf(Professional);//fprintf(fp,Professional);}if(osvi.wProductType==VER_NT_SERVER){printf(Server);//fprintf(fp,Server);}//printf(n);fprintf(fp,n);}else{HKEY hKey;char szProductType[80];DWORD dwBufLen;RegOpenKeyEx(HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\ProductOptions,0,KEY_QUERY_VALUE,&hKey);RegQueryValueEx(hKey,ProductType,NULL,NULL,(LPBYTE)szProductType,&dwBufLen);RegCloseKey(hKey);if(lstrcmpi(WINNT,szProductType)==0){printf(Workstation);//fprintf(fp,Workstation);}if(lstrcmpi(SERVERNT,szProductType)==0){printf(Server);//fprintf(fp,Server);}//printf(n);fprintf(fp,n);}//Display service pack(if any)and build number.if(osvi.dwMajorVersion==4&&lstrcmpi(osvi.szCSDVersion,Service Pack 6)==0){HKEY hKey;LONG lRet;//Test for SP6 versus SP6a.lRet=RegOpenKeyEx(HKEY_LOCAL_MACHINE,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q 246009,0,KEY_QUERY_VALUE,&hKey);if(lRet==ERROR_SUCCESS){printf(Service Pack 6a(Build%d)n,osvi.dwBuildNumber&0xFFFF);//fprintf(fp,Service Pack 6a(Build%d)n,osvi.dwBuildNumber&0xFFFF);//fprintf(fp,Service Pack 6an);fprintf(fp,6an);}else//Windows NT 4.0 prior to SP6a{printf(%s(Build%d),osvi.szCSDVersion,osvi.dwBuildNumber&0xFFFF);/*printf(%s(Build%d)n,osvi.szCSDVersion,osvi.dwBuildNumber&0xFFFF);*///fprintf(fp,%s(Build%d)n,//osvi.szCSDVersion,//osvi.dwBuildNumber&0xFFFF);//fprintf(fp,%sn,osvi.szCSDVersion);fprintf(fp,%sn,osvi.szCSDVersion+13);//去失落Service Pack共13个字节,只保存最终的号}RegCloseKey(hKey);}else//Windows NT 3.51 and earlier or Windows 2000 and later{printf(%s(Build%d),osvi.szCSDVersion,osvi.dwBuildNumber&0xFFFF);/*printf(%s(Build%d)n,osvi.szCSDVersion,osvi.dwBuildNumber&0xFFFF);*///fprintf(fp,%s(Build%d)n,//osvi.szCSDVersion,//osvi.dwBuildNumber&0xFFFF);//fprintf(fp,%sn,osvi.szCSDVersion);fprintf(fp,%sn,osvi.szCSDVersion+13);//去失落Service Pack共13个字节,只保存最终的号}break;case VER_PLATFORM_WIN32_WINDOWS:
if(osvi.dwMajorVersion==4&&osvi.dwMinorVersion==0){printf(Microsoft Windows 95);fprintf(fp,Microsoft Windows 95);if(osvi.szCSDVersion[1]=='C'||osvi.szCSDVersion[1]=='B'){printf(OSR2);fprintf(fp,OSR2);//strcat(osinfo[0],OSR2);}printf(n);fprintf(fp,n);}if(osvi.dwMajorVersion==4&&osvi.dwMinorVersion==10){printf(Microsoft Windows 98);fprintf(fp,Microsoft Windows 98);if(osvi.szCSDVersion[1]=='A'){printf(SE);fprintf(fp,SE);}printf(n);fprintf(fp,n);}if(osvi.dwMajorVersion==4&&osvi.dwMinorVersion==90){printf(Microsoft Windows Millennium Editionn);fprintf(fp,Microsoft Windows Millennium Editionn);}break;case VER_PLATFORM_WIN32s:
printf(Microsoft Win32sn);fprintf(fp,Microsoft Win32sn);break;}return TRUE;}void DisplaySetupedPatch(FILE*fp){HKEY hKey;//LONG lRet;//char Buf[80];//char lpBuf[80];DWORD i;DWORD retCode;//DWORD j;//DWORD retValue;DWORD dwxValueName=MAX_VALUE_NAME;LPCTSTR path=SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix;LONG return0=RegOpenKeyEx(HKEY_LOCAL_MACHINE,path,0,KEY_READ,&hKey);if(return0!=ERROR_SUCCESS){printf(不对:
无法打开有关的键!);}for(i=1,retCode=ERROR_SUCCESS;retCode==ERROR_SUCCESS;i++){retCode=RegEnumKey(hKey,i,patchname,MAX_PATH);if(retCode==ERROR_SUCCESS){printf(%sn,patchname);fprintf(fp,%sn,patchname);}}}void main(){//写入文件FILE*fp;GetLocalIp();const char SaveReciveFilePath=f:
\;string abPath(SaveReciveFilePath);char Filename[512]=;strcpy(Filename,LocalIP);//拷贝字符串strcat(Filename,.txt);//连接字符串abPath+=Filename;fp=fopen(abPath.c_str(),w);while(fp==NULL);//printf(the LocalIP is:
%sn,LocalIP);//输出IP地点printf(本机IP地点:
%sn,LocalIP);//输出IP地点//fprintf(fp,本机IP:
%sn,LocalIP);//fprintf(fp,%sn,LocalIP);bool a=FALSE;printf(本机操纵系统版本是:
);//fprintf(fp,本机操纵系统版本是:
);//操纵系统版本信息while(a!=TRUE){a=DisplaySystemVesion(fp);}//操纵系统说话信息printf(说话:
);//fprintf(fp,说话:
);/*WORD wLangPID=PRIMARYLANGID(GetSystemDefaultLangID());if(LANG_CHINESE==wLangPID){printf(CHSn);//中文fprintf(fp,CHNn);}else{printf(ENGn);//英文fprintf(fp,ENGn);}if(NULL==wLangPID){printf(Failure!n);}*/int LanguageID=GetSystemDefaultLangID();//返回操纵系统说话的ID号switch(LanguageID){case 0x0404:
printf(CHTn);//Chinese Taiwan fprintf(fp,CHTn);break;case 0x0804:
printf(CHSn);//Chinese PRC fprintf(fp,CHSn);break;case 0x0c04:
printf(ZHHn);//Chinese Hong Kong SAR fprintf(fp,ZHHn);break;case 0x1004:
printf(ZHHn);//Chinese Singapore fprintf(fp,ZHHn);break;case 0x1404:
printf(ZHMn);//Chinese Macau SAR fprintf(fp,ZHMn);break;case 0x0809:
printf(ENGn);//English United Kingdom fprintf(fp,ENGn);break;case 0x0409:
printf(USAn);//English United States fprintf(fp,USAn);break;default:
printf(Defaultn);fprintf(fp,Defaultn);break;}//printf(%dn,id);//操纵系统已安置补丁信息printf(系统已经安置的进级补丁有:
n);//fprintf(fp,系统已经安置的进级补丁有:
n);DisplaySetupedPatch(fp);fclose(fp);}


相关资讯:
如何获取本机当前Windows操作系统版本信息?/vc++_百度知道
在“Z武器”这个软件可以查到,并可以帮你升级!不过最好的升级操作系统在官方!开始—上面有个window Update. 打开后就自动帮你下载安装新的版本! ...http://...



相关文章:
  • windowsxp操作系统|微软之操纵系统系列之一Windows XP
  • |微软原版Windows XP with SP3各国版本年夜全
  • 如何用u盘装xp系统|[转]如何装XP系统
  • |办理双系统下XP还原年夜略重装导致WIN7开动界面消失的
  • xp sp3专业版序列号|本人热卖保举:冲钻!特价限量!正
  • |[转]wps操纵技巧
  • 笔记本win7系统|笔记本系统用什么?新win7年夜战经典XP
  • |点窜windows开机、登岸画面
  • 系统不识别移动硬盘|封闭系统办事导致XP无法识别移动硬
  • |[转]如何让你电脑的系统盘占更少空间(转)

  • 版权声明:
    本站文章部分转载自其他媒体,转载目的在于传播更多信息,丰富网络文化,此类稿件不代表本网观点。如本站链接内容可能涉嫌侵犯别人合法权益,应该及时提醒本站,本站将会尽快移除该文章内容或链接。
    联系请使用下面邮箱:
     本站最新
     栏目最新
     栏目热点