To pytanie, How can I determine the Windows version from a VB 6 app, ma bardzo przydatną odpowiedź od Cody Gray, która wykorzystuje GetVersionEx i instrukcję Select Case, aby zwrócić wersję systemu Windows jako przyjazne dla użytkownika ciąg.Jak mogę uzyskać przyszłą wersję przyjaznego dla użytkownika systemu operacyjnego?
Podany kod jest jednak ograniczony, ponieważ wszystkie zwracane wartości są zakodowane na sztywno, co oznacza, że nie jest to zabezpieczenie przyszłościowe i musi zostać przepisane za każdym razem, gdy pojawi się nowa wersja systemu Windows, na przykład Windows 8.
Czy istnieje inna opcja, oprócz użycia GetVersionEx i instrukcji Select Case, w celu pobrania przyjaznej dla użytkownika nazwy systemu operacyjnego, która również będzie stosunkowo odporna na przyszłość?
Co na Ziemi sprawia, że myślisz, że GetVersionEx nie będą wspierane w przyszłych wersjach systemu Windows? –
@HansPassant Jeśli spojrzysz na odpowiedź i kod przykładowy, zobaczysz, że po użyciu GetVersionEx musisz wykonać skomplikowaną instrukcję Select z wartościami zakodowanymi na stałe. Dlatego za każdym razem, gdy wychodzi nowa wersja systemu Windows, musisz naprawić kod. –
A więc chodzi o wyświetlenie nazwy marketingowej systemu operacyjnego ("Windows UltraModern Spiffy Penultimate Lunar Edition")? Zamiast wykrywać platformę z jakiegoś powodu funkcjonalnego? – Bob77