• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        用VC判斷軟件運(yùn)用的設(shè)置系統(tǒng)

        用VC判斷軟件運(yùn)用的設(shè)置系統(tǒng)

        更新時(shí)間:2022-05-01 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        杜建蔚

          在開(kāi)發(fā)軟件時(shí),由于在不同的操作系統(tǒng)中實(shí)現(xiàn)技術(shù)上的區(qū)別,可能某一軟件的功能僅局限于單一的操作系統(tǒng)環(huán)境,例如Windows98或是WindowsNT,為此,我們需要在用戶使用軟件時(shí)給予相應(yīng)提示。

          我們需要編寫一段小程序用于在軟件啟動(dòng)時(shí)來(lái)判斷當(dāng)前軟件所運(yùn)行的環(huán)境到底是哪個(gè)操作系統(tǒng),并當(dāng)用戶在錯(cuò)誤的環(huán)境中運(yùn)行軟件時(shí)給予報(bào)警。本文將詳細(xì)介紹實(shí)現(xiàn)的方法及過(guò)  
        程。

          OSVERSIONINFO結(jié)構(gòu)

          OSVERSIONINFO結(jié)構(gòu)包含了操作系統(tǒng)的版本信息,包括操作系統(tǒng)的主版本號(hào)、副版本號(hào)、創(chuàng)建號(hào)、以及操作系統(tǒng)平臺(tái)ID號(hào)和關(guān)于操作系統(tǒng)的其他描述信息。其定義為:

          typedef struct _OSVERSIONINFO{

          DWORD dwOSVersionInfoSize;

          //指定該數(shù)據(jù)結(jié)構(gòu)的字節(jié)大小

          DWORD dwMajorVersion;

          //操作系統(tǒng)的主版本號(hào)

          DWORD dwMinorVersion;

          //操作系統(tǒng)的副版本號(hào)

          DWORD dwBuildNumber;

          //操作系統(tǒng)的創(chuàng)建號(hào)

          DWORD dwPlatformId;

          //操作系統(tǒng)ID號(hào)

          TCHAR szCSDVersion[ 128 ];

          //關(guān)于操作系統(tǒng)的一些附加信息

          } OSVERSIONINFO;

          其中dwPlatformId可為以下值:

          VER_PLATFORM_WIN32s:標(biāo)識(shí)為Windows 3.1;

          VER_PLATFORM_WIN32_WINDOWS:標(biāo)識(shí)為Windows 95或Windows 98;

          對(duì)于Windows 95操作系統(tǒng)而言,dwMinorVersion值為0,對(duì)Windows 98操作系統(tǒng)dwMinorVersion則大于0;

          VER_PLATFORM_WIN32_NT:標(biāo)識(shí)為WindowsNT。

          程序具體實(shí)現(xiàn)步驟

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

          2.在工程中添加兩個(gè)文件,即定義文件judge.h和實(shí)現(xiàn)文件judge.cpp。

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

          #ifndef __JUDGE_H__

          #define __ JUDGE _H__

          Cstring JudgeOperatingSystem();

          //判斷操作系統(tǒng)函數(shù)定義

          #endif

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

          #include "stdafx.h"

          #include "judge.h"

          Cstring JudgeOperatingSystem()

          //判斷操作系統(tǒng)函數(shù)的實(shí)現(xiàn)

          {

          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類的實(shí)現(xiàn)文件MainFrm.cpp中開(kāi)頭添加#include"judge.h"。并在其OnCreate函數(shù)中return語(yǔ)句前加入如下判斷代碼:

          Cstring sOperatingSystem = JudgeOperatingSystem();

          if( sOperatingSystem == "Windows98")

          {

          //假如本軟件需要在WindowsNT下運(yùn)行

          MessageBox(

           "本軟件在WindowsNT4.0或更高的版本下運(yùn)行,您的操作系統(tǒng)是Windows98 "

          "請(qǐng)安裝WindowsNT4.0以上的版本或使用Windows98版!",

          "警告",

          MB_OK

          );

          }

           else if( sOperatingSystem == "WindowsNT")

           {

           //假如軟件需要在Windows98下運(yùn)行,我們可在此添加警告對(duì)話框

           }

           else return -1;

          至此,操作系統(tǒng)判斷功能已經(jīng)實(shí)現(xiàn),在軟件啟動(dòng)時(shí)會(huì)自動(dòng)判斷軟件當(dāng)前運(yùn)行的操作系統(tǒng)并提示用戶是否在正確的操作系統(tǒng)環(huán)境,從而保證了軟件運(yùn)行的正常性。

          本程序在VC++ 6.0,Windows 98下調(diào)試通過(guò)。

        溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲av片不卡无码久久| 亚洲国产另类久久久精品| 久久久久久亚洲精品影院| 四虎成年永久免费网站| 亚洲天天做日日做天天欢毛片| 中文字幕无码免费久久| 亚洲日韩精品A∨片无码| 成人无码区免费A∨直播| 亚洲精品国产字幕久久不卡 | 成人黄动漫画免费网站视频| 亚洲欧洲日韩极速播放| 免费黄色app网站| 无人视频在线观看免费播放影院| 一本色道久久88综合亚洲精品高清| 黄色免费网址在线观看| 久久久久亚洲精品中文字幕| 国产一区二区三区免费| 亚洲日韩乱码中文无码蜜桃臀| 无码国产精品一区二区免费式影视| 亚洲日韩精品国产3区| 国产成人无码免费视频97| 一级毛片aa高清免费观看| 亚洲深深色噜噜狠狠爱网站| 日韩av无码久久精品免费| 国产亚洲国产bv网站在线| 国产一区二区三区免费在线观看| 2022免费国产精品福利在线| 水蜜桃亚洲一二三四在线 | 一区二区三区免费精品视频| 日韩亚洲人成在线综合日本| 中文免费观看视频网站| 亚洲AV无码之国产精品| 亚洲无人区午夜福利码高清完整版| 日韩内射激情视频在线播放免费| 国产亚洲玖玖玖在线观看| 久久99亚洲综合精品首页| 精品无码AV无码免费专区| 日本亚洲欧美色视频在线播放| 伊人亚洲综合青草青草久热| 91频在线观看免费大全| 无码精品人妻一区二区三区免费|