了解一个系统相关信息也是一项比较重要的内容,这里简单的获取一些系统信息,主要获取的内容是系统的版本、操作系统的名字以及当前登陆的用户名。接下来先介绍一下相关的API函数。
获取操作系统版本:GetVersionEx();
(该函数就一个参数,这个参数指向OSVERSIONINFO结构的指针。)
获取计算机名称:GetComputerName();
获取当前用户名:GetUserName();
以下代码正常情况下运行没有问题,如果有问题,请把输出里面的%s更改成%ls
//获取操作系统版本 GetVersionEx()函数
//GetVersionEx()函数就一个参数,这个参数指向OSVERSIONINFO结构指针//获取计算机名称 GetComputerName()函数
//获取当前用户名称 GetUserName()函数
#include <windows.h>
#include <stdio.h>
void GetSysInfo();
int main(void)
{
GetSysInfo();
return 0;
}
void GetSysInfo()
{
char szComputerName[MAXBYTE] = { 0 };
char szUserName[MAXBYTE] = { 0 };
unsigned long nSize = MAXBYTE;
OSVERSIONINFO OsVer;
OsVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&OsVer);
if( OsVer.dwPlatformId == VER_PLATFORM_WIN32_NT )
{
if( OsVer.dwMajorVersion == 5 )
{
switch ( OsVer.dwMinorVersion )
{
case 0:
printf("Windows 2000\r\n");
break;
case 1:
printf("Windows XP %s \r\n", OsVer.szCSDVersion);
break;
case 2:
printf("Windows 2003 or Windows 2003 R2\r\n");
break;
default:
printf("Other System \r\n");
}
}
else if ( OsVer.dwMajorVersion == 6 )
{
switch(OsVer.dwMinorVersion)
{
case 0:
printf("Windows Vista\r\n");
break;
case 1:
printf("Windows 7 \r\n");
break;
case 2:
printf("Windows 8 \r\n");
break;
case 3:
printf("Windows 8.1 \r\n");
break;
default:
printf("Other System \r\n");
}
}
else if ( OsVer.dwMajorVersion == 10 )
{
switch ( OsVer.dwMinorVersion )
{
case 0:
printf("Windows 10 \r\n");
break;
default:
printf("Other System \r\n");
}
}
else
{
printf("Sorry. Unknown System! \r\n");
}
}
/* else
{
printf("Sorry. Unknown System! \r\n");
}*/
GetComputerName(szComputerName, &nSize);
printf("Computer Name is %s \r\n", szComputerName);
nSize = MAXBYTE;
GetUserName(szUserName, &nSize);
printf("User Name is %s \r\n", szUserName);
}