实验1 操作系统信息
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统实验报告册
计算机科学与工程学院
计102班
杜晓艳
3100911040
实验1 操作系统信息
一、【实验目的】
了解Windows操作系统的配置信息:熟悉Visual C++编译环境的使用方法;掌握Windows API函数的调用方法;能通过调用Windows API函数获得操作系统的基本信息:熟悉从MSDN上查找相关信息。
二、【实验要求】
阅读关于Windows操作系统配置的相关文档,了解计算机名称、用户、系统目录、Windows 目录、环境变量等相关知识;联系Visual C++编译环境的使用方法;从MSDN上查找相关函数信息和使用方法。
三、【实验内容】
(1)编写程序,实现获取计算机名称、当前用户名。
(2)编写程序,实现获取系统目录、Windows所在目录、操作系统中环境变量等信息。(3)编写程序,实现获取操作系统的版本信息。
四、【源程序及运行结果】
源程序:
//***********************************
// 获得计算机操作系统版本,计算机名称,系统目录,windouws目录,部分环境变量
//***********************************
#include
#include
#define BUFSIZE 1024
void main()
{
char lpszSystemInfo[BUFSIZE]="\0";
unsigned long cchBuff = BUFSIZE;
OSVERSIONINFO versionInfo;
char m_stInfo[BUFSIZE];
int dwResult;
versionInfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
//获取Windows版本号
if (!GetVersionEx(&versionInfo))
{
strcpy(m_stInfo,"Not able to get OS information");
return;
}
switch(versionInfo.dwMajorVersion)
{
case 3:
strcpy(m_stInfo,"WindowsNT 3.15");
break;
case 4:
if(versionInfo.dwMinorVersion==0)
strcpy(m_stInfo,"windows95/WindowsNT 4.0");
else if (versionInfo.dwMinorVersion==10)
strcpy(m_stInfo,"windows98");
else if (versionInfo.dwMinorVersion==90)
strcpy(m_stInfo,"windows Me");
break;
case 5:
if (versionInfo.dwMinorVersion==0)
strcpy(m_stInfo,"windows 2000");
else if (versionInfo.dwMinorVersion==1)
strcpy(m_stInfo,"windows XP");
else if (versionInfo.dwMinorVersion==2)
strcpy(m_stInfo,"windowsServer 2003 Family");
break;
default:strcpy(m_stInfo,"Version can't Recognize");
}
//输出信息
printf("操作系统类型:%s \n",m_stInfo);
printf("内部版本号:%ld \n",versionInfo.dwBuildNumber);
printf("操作系统平台标志:%ld \n",versionInfo.dwPlatformId);
printf("补丁信息:%s \n",versionInfo.szCSDVersion);
//获取计算机名称
if(GetComputerName(lpszSystemInfo,&cchBuff))
printf("计算机名称:%s\n",lpszSystemInfo);
//获取计算机用户名称
cchBuff=BUFSIZE;
if(GetUserName(lpszSystemInfo,&cchBuff))
printf("用户名:%s\n\n",lpszSystemInfo);
//获取系统目录
if(GetSystemDirectory(lpszSystemInfo,MAX_PATH+1))
printf("系统目录:%s\n",lpszSystemInfo);
//获取Windows目录
if(GetWindowsDirectory(lpszSystemInfo,MAX_PATH+1))
printf("Windows所在目录:%s\n\n",lpszSystemInfo);
printf("环境变量(部分)\n");
//获取环境变量OS
dwResult=ExpandEnvironmentStrings("OS=%OS%",lpszSystemInfo,BUFSIZE); if(dwResult<=BUFSIZE)
printf("%s\n",lpszSystemInfo);