Avatar billede esf_spike Nybegynder
30. oktober 2001 - 21:29 Der er 5 kommentarer og
1 løsning

OS version?

Jeg vil gerne vide hvordan jeg kan hive ud i et c++ program hvilken version af windows man bruger.
getenv(\"OS\") virker fint, men jeg får kun Windows_NT, jeg vil ha mere præcist, såsom Windows 2000, Windows XP osv.
nogen?
Avatar billede futter2 Nybegynder
30. oktober 2001 - 22:11 #1
GetVersionEx
Den findes i API\'en, med den får du det hele inclusive service packs
Avatar billede esf_spike Nybegynder
30. oktober 2001 - 22:51 #2
kan jeg få et eksempel?
Avatar billede futter2 Nybegynder
30. oktober 2001 - 23:02 #3
void func ()
{
OSVERSIONINFO  VersionInformation;

    VersionInformation.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx(&VersionInformation);
}

hvor OSVERSIONINFO er erklæret således i winnt.h:
typedef struct _OSVERSIONINFO{ 
    DWORD dwOSVersionInfoSize;
    DWORD dwMajorVersion;
    DWORD dwMinorVersion;
    DWORD dwBuildNumber;
    DWORD dwPlatformId;
    TCHAR szCSDVersion[ 128 ];
} OSVERSIONINFO;
Avatar billede futter2 Nybegynder
30. oktober 2001 - 23:03 #4
dwOSVersionInfoSize

Specifies the size, in bytes, of this data structure. Set this member to sizeof(OSVERSIONINFO) before calling the GetVersionEx function.

dwMajorVersion

Identifies the major version number of the operating system. For example, for Windows NT version 3.51, the major version number is 3; and for Windows NT version 4.0, the major version number is 4.

dwMinorVersion

Identifies the minor version number of the operating system. For example, for Windows NT version 3.51, the minor version number is 51; and for Windows NT version 4.0, the minor version number is 0.

dwBuildNumber

Windows NT: Identifies the build number of the operating system.
Windows 95: Identifies the build number of the operating system in the low-order word. The high-order word contains the major and minor version numbers.

dwPlatformId

Identifies the operating system platform. This member can be one of the following values:

Value    Platform
VER_PLATFORM_WIN32s    Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS    Win32 on Windows 95.
VER_PLATFORM_WIN32_NT    Win32 on Windows NT.


szCSDVersion

Windows NT: Contains a null-terminated string, such as \"Service Pack 3\", that indicates the latest Service Pack installed on the system. If no Service Pack has been installed, the string is empty.
Windows 95: Contains a null-terminated string that provides arbitrary additional information about the operating system.
Avatar billede esf_spike Nybegynder
31. oktober 2001 - 14:35 #5
jeg vil stadig ha den viser om det er f.eks Windows NT 3.51, Windows2k eller WinXP
Avatar billede futter2 Nybegynder
03. november 2001 - 18:35 #6
hvis dwMajorVersion er 3 og dwMinorVersion = 51 er det WinNt 3.51
og hvis dwMajorVersion er f.eks 5 og dwMinorVersion = 0 er det Win2k
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester