• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用VC判斷軟件使用的操作系統

    發布: 2007-7-14 21:11 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 69次 | 進入軟件測試論壇討論

    領測軟件測試網 杜建蔚

      在開發軟件時,由于在不同的操作系統中實現技術上的區別,可能某一軟件的功能僅局限于單一的操作系統環境,例如Windows98或是WindowsNT,為此,我們需要在用戶使用軟件時給予相應提示。

      我們需要編寫一段小程序用于在軟件啟動時來判斷當前軟件所運行的環境到底是哪個操作系統,并當用戶在錯誤的環境中運行軟件時給予報警。本文將詳細介紹實現的方法及過  
    程。

      OSVERSIONINFO結構

      OSVERSIONINFO結構包含了操作系統的版本信息,包括操作系統的主版本號、副版本號、創建號、以及操作系統平臺ID號和關于操作系統的其他描述信息。其定義為:

      typedef struct _OSVERSIONINFO{

      DWORD dwOSVersionInfoSize;

      //指定該數據結構的字節大小

      DWORD dwMajorVersion;

      //操作系統的主版本號

      DWORD dwMinorVersion;

      //操作系統的副版本號

      DWORD dwBuildNumber;

      //操作系統的創建號

      DWORD dwPlatformId;

      //操作系統ID號

      TCHAR szCSDVersion[ 128 ];

      //關于操作系統的一些附加信息

      } OSVERSIONINFO;

      其中dwPlatformId可為以下值:

      VER_PLATFORM_WIN32s:標識為Windows 3.1;

      VER_PLATFORM_WIN32_WINDOWS:標識為Windows 95或Windows 98;

      對于Windows 95操作系統而言,dwMinorVersion值為0,對Windows 98操作系統dwMinorVersion則大于0;

      VER_PLATFORM_WIN32_NT:標識為WindowsNT。

      程序具體實現步驟

      1.使用AppWizard新建一個基于單文檔的工程SystemJudge。

      2.在工程中添加兩個文件,即定義文件judge.h和實現文件judge.cpp。

      在judge.h文件中添加如下代碼:

      #ifndef __JUDGE_H__

      #define __ JUDGE _H__

      Cstring JudgeOperatingSystem();

      //判斷操作系統函數定義

      #endif

      在judge.cpp文件中添加如下代碼:

      #include "stdafx.h"

      #include "judge.h"

      Cstring JudgeOperatingSystem()

      //判斷操作系統函數的實現

      {

      OSVERSIONINFO OsVersionInfo;

      OsVersionInfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);

      GetVersionEx(&&OsVersionInfo);

      if(OsVersionInfo.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS )

       {

       if(OsVersionInfo.dwMajorVersion>4) return "Windows98";

      else if(OsVersionInfo.dwMajorVersion=4)

       {

       if(OsVersionInfo.dwMinorVersion>0) return "Windows98";

      else return "Windows95";

       }

       else return "Windows3.1";

       }

      elseif(OsVersionInfo.dwPlatformId= VER_PLATFORM_WIN32_NT )

       {

       return "WindowsNT";

       }

       else if(OsVersionInfo.dwPlatformId== VER_PLATFORM_WIN32s)

       {

       return "Windows3.1";

       }

       else return "NoName";

      }

      3.在CmainFrame類的實現文件MainFrm.cpp中開頭添加#include"judge.h"。并在其OnCreate函數中return語句前加入如下判斷代碼:

      Cstring sOperatingSystem = JudgeOperatingSystem();

      if( sOperatingSystem == "Windows98")

      {

      //假如本軟件需要在WindowsNT下運行

      MessageBox(

       "本軟件在WindowsNT4.0或更高的版本下運行,您的操作系統是Windows98 "

      "請安裝WindowsNT4.0以上的版本或使用Windows98版!",

      "警告",

      MB_OK

      );

      }

       else if( sOperatingSystem == "WindowsNT")

       {

       //假如軟件需要在Windows98下運行,我們可在此添加警告對話框

       }

       else return -1;

      至此,操作系統判斷功能已經實現,在軟件啟動時會自動判斷軟件當前運行的操作系統并提示用戶是否在正確的操作系統環境,從而保證了軟件運行的正常性。

      本程序在VC++ 6.0,Windows 98下調試通過。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>