Michael Haephrati Ответов: 1

Можно ли запустить iswindows10orgreater() на более ранних версиях ОС


Согласно документации-нет. Однако не имеет смысла, что Windows 10 требуется для определения того, работает ли Windows 10.

Что я уже пробовал:

Проверка Функция IsWindows10OrGreater (Windows)[^]

1 Ответов

Рейтинг:
2

Jochen Arndt

MSDN, по-видимому, вводит здесь в заблуждение. IsWindows10OrGreater требуется Windows 10 SDK и (я не совсем уверен в этом), что приложение проявлено для Windows 10.

Если ваше приложение не отображается для Windows 10, IsWindows10OrGreater будет возвращать false (или не работает - я опять же не уверен) даже при работе на Windows 10.

Вы также можете взглянуть на VersionHelpers.ч файл. Используемые функции поддерживаются начиная с Windows 2000.

Таким образом, он должен работать при указании Windows 10 в манифесте и вообще не использоваться в противном случае.

[РЕДАКТИРОВАТЬ]
При отсутствии указания Windows 10 в манифесте существуют решения для обнаружения Windows 10. Однако это не рекомендуется корпорацией Майкрософт.
Часть 1: преодоление устаревания Windows 8.1 API GetVersionEx и GetVersion[^]
Получение информации о версии операционной системы-даже для Windows 10![^]
[/РЕДАКТИРОВАТЬ]


Michael Haephrati

Вопрос в том, как одна программа может проверить, является ли используемая ОС Windows 10 (или выше), в то время как такая программа может работать и на любой более ранней версии Windows.

Jochen Arndt

При указании Windows 10 в манифесте он должен работать (но я не могу проверить его на данный момент).

Если нет, то нет никакого "официального" метода, потому что IsWindowsVersionOrGreater, который вызывается IsWindows10OrGreater, вернет false даже тогда, когда приложение работает на Windows 10. То же самое относится и к другим функциям API GetVersion.

Тогда вам придется уйти "официальным" путем.
Некоторые ссылки (я тоже добавлю их в свое решение):
https://www.codeproject.com/Articles/678606/Part-Overcoming-Windows-s-deprecation-of-GetVe
https://www.codeproject.com/Articles/73000/Getting-Operating-System-Version-Info-Even-for-Win