kath Δημοσ. 18 Μαΐου 2006 Δημοσ. 18 Μαΐου 2006 Εχω ενα προγραμμα σε C++, αυτο που θελω ειναι να μπορω να αποθηκευω σε μια μεταβλητη την εκδοση του λειτουργικου, και αν ειναι ΝΤ ή ΧΡ να γινεται κανονικα η εκτελεση της εφαρμογης , αλλιως να γινεται τερματισμος. Κατι σαν κι αυτο : windows_Ver = getwinver; if windows_Ver = "XP" || windows_ver = "NT" { .... } else { .. }
random Δημοσ. 18 Μαΐου 2006 Δημοσ. 18 Μαΐου 2006 codeproject.com ... osdetect codeguru.com systeminformation... G "c++" "operating system version"
Directx Δημοσ. 18 Μαΐου 2006 Δημοσ. 18 Μαΐου 2006 Ελπίζω να σε καλύψει (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.
kath Δημοσ. 19 Μαΐου 2006 Μέλος Δημοσ. 19 Μαΐου 2006 Direct x , ο παραπανω κωδικας δουλευει μια χαρα αφαιρωντας το > //--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(NULL,_OSVersion(),"_OSVersion():",MB_OK); return 0; } //--------------------------------------------------------------------------- και καλωντας την function _OSVERSION() μεσω του cout .. μαλλον θα τον προτιμησω ... edit: ..τι "μαλλον!" .. δαγκωτο!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.