Προς το περιεχόμενο

-->Eκδοση λειτουργικου (C++)


kath

Προτεινόμενες αναρτήσεις

Εχω ενα προγραμμα σε C++,

αυτο που θελω ειναι να μπορω να αποθηκευω σε μια μεταβλητη την εκδοση του

λειτουργικου, και αν ειναι ΝΤ ή ΧΡ να γινεται κανονικα η εκτελεση της

εφαρμογης , αλλιως να γινεται τερματισμος.

 

Κατι σαν κι αυτο :

 

windows_Ver = getwinver;

 

if windows_Ver = "XP" || windows_ver = "NT" {

 

....

} else {

..

}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ελπίζω να σε καλύψει (Borland C/C++ Builder 6):

 

>
// _OSVersion() DIRECTX

#include <windows.h>

//---------------------------------------------------------------------------
char  *_OSVersion(void)
{
  OSVERSIONINFO  OVI;

  ZeroMemory(&OVI,sizeof(OVI));
  OVI.dwOSVersionInfoSize =  sizeof(OSVERSIONINFO);
  if(GetVersionEx(&OVI))
   {
     if(OVI.dwMajorVersion==4 && OVI.dwPlatformId==VER_PLATFORM_WIN32_NT)
      return  "NT";
     if(OVI.dwMajorVersion==5 && !OVI.dwMinorVersion)
      return  "2000";
     if(OVI.dwMajorVersion==5 && OVI.dwMinorVersion)
      return  "XP";
   }

  return   NULL;
}
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  MessageBox(NULL,_OSVersion(),"_OSVersion():",MB_OK);
  return 0;
}
//---------------------------------------------------------------------------

 

Hint: Ο εντοποισμός των Windows NT 4.0 απαιτεί το OS Major ως 4 και αγνόηση του OS Minor διότι είναι 0 όπως και των Windows ʼ95 οπότε η διάκριση μας στηρίζεται στο dwPlatformId == VER_PLATFORM_WIN32_NT.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Direct x , ο παραπανω κωδικας δουλευει μια χαρα :)

αφαιρωντας το

>
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  MessageBox(NULL,_OSVersion(),"_OSVersion():",MB_OK);
  return 0;
}
//---------------------------------------------------------------------------

και καλωντας την function _OSVERSION() μεσω του cout

 

.. μαλλον θα τον προτιμησω ...

 

 

edit:

..τι "μαλλον!" .. δαγκωτο! :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...