Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Jego Bitowość Windows

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Jego Bitowość Windows
From: "JoteR" <usenet@interia.eu>
Date: Thu, 12 Oct 2017 18:34:18 +0200
"Stregor" napisał:

Potrzebuję z wnętrza skryptu sprawdzić, z jaką wersją Windows (obojętnie -
7, 8, czy 10) mam do czynienia - 32 czy 64-bitową. [...]

Niedawno miałem identyczny problem. W moim przypadku wystarczyło
sprawdzenie obecności katalogu C:\Program Files (x86)

Trudno to jednak nazwać mniej ordynarną metodą. Co do skuteczności to
chyba jeszcze nie widziałęm 64 bitowej instalacji bez tego katalogu.

https://support.microsoft.com/en-us/help/556009

Dotyczy strszych wersji Windows ;->

Sprawdziłem dzisiaj wartości w tym kluczu na kilku maszynach z procesorami 64-bitowymi:

Windows 7 32-bit:
Identifier REG_SZ x86 Family x Model y Stepping z
PlatformID REG_DWORD 0x00000010(16)

Windows 7 64-bit:
Identifier REG_SZ Intel64 Family x Model y Stepping z
PlatformID REG_DWORD 0x00000002(2)

Tu jest O.K., wygląda na to, że wystarczy sprawdzić wartość PlatformID.
Ale w Windows 10 już nie ma PlatformID:

Windows 10 32-bit:
Identifier REG_SZ x86 Family x Model y Stepping z
PlatformSpecificField1 REG_DWORD 0x00000002(2)

Windows 10 64-bit:
Identifier REG_SZ Intel64 Family x Model y Stepping z
PlatformSpecificField1 REG_DWORD 0x00000002(2)
PlatformSpecificField2 REG_BINARY 00 00 00 00

Mam nadzieję, że wystarczy sprawdzić początek wartości Identifier.
Swoją drogą - wyciąganie wersji systemu z klucza, w nazwie którego są "HARDWARE" i "Processor" w dodatku z wartości określającej model procesora, to jakiś wyższy stopień abstrakcji ;->

Dzięki.

JoteR


<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>