欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

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

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

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

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

杜建蔚

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

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

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

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

  typedef struct _OSVERSIONINFO{

  DWORD dwOSVersionInfoSize;

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

  DWORD dwMajorVersion;

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

  DWORD dwMinorVersion;

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

  DWORD dwBuildNumber;

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

  DWORD dwPlatformId;

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

  TCHAR szCSDVersion[ 128 ];

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

  } OSVERSIONINFO;

  其中dwPlatformId可為以下值:

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

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

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

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

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

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

  2.在工程中添加兩個文件,即定義文件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中開頭添加#include"judge.h"。并在其OnCreate函數(shù)中return語句前加入如下判斷代碼:

  Cstring sOperatingSystem = JudgeOperatingSystem();

  if( sOperatingSystem == "Windows98")

  {

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

  MessageBox(

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

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

  "警告",

  MB_OK

  );

  }

   else if( sOperatingSystem == "WindowsNT")

   {

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

   }

   else return -1;

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

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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 周宁县| 迁西县| 徐闻县| 安福县| 揭东县| 佛坪县| 青铜峡市| 林西县| 青浦区| 皮山县| 子洲县| 哈巴河县| 梓潼县| 镇远县| 民县| 勐海县| 璧山县| 措美县| 息烽县| 德昌县| 武冈市| 凤台县| 肇东市| 孟村| 中山市| 特克斯县| 尤溪县| 读书| 准格尔旗| 北票市| 龙口市| 成武县| 封开县| 安福县| 厦门市| 浦东新区| 察哈| 五常市| 军事| 崇信县| 会泽县|