C語言獲取計算機系統參數

瞭解一個系統相關信息也是一項比較重要的內容,這裏簡單的獲取一些系統信息,主要獲取的內容是系統的版本、操作系統的名字以及當前登陸的用戶名。接下來先介紹一下相關的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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章