2014-10-01 2 views
13

Мы обнаруживаем версию ОС для статистики. Начиная с Windows 8.1, the OS "lies" about its version при использовании GetVersion. Однако System.Environment.OSVersionstill calls this API с. NET 4.5.1. Таким образом, мы добавили 8.1's GUID в манифест, который отлично работает.Что такое GUID GUID для Windows 10?

Теперь, я хотел бы подготовить то же самое для Windows 10. Является ли GUID для этого известного еще?

(изменить) P/Invocation VerSetConditionMask и VerifyVersionInfo для проверки на 6.4 или больше, похоже, работают.

+0

Для лучшего подхода при сборе статистических данных, см http://stackoverflow.com/a/25986612/886887 –

+0

Хотя это, вероятно, будет работать, кажется довольно грязным взломом, а также означает, что приложение не утверждает совместимость с новой ОС с помощником по совместимости программ. –

+0

Если бы это было известно, оно могло быть изменено. –

ответ

22
<!-- This Id value indicates the application supports Windows Threshold functionality--> 
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> 

Источник: http://social.msdn.microsoft.com/Forums/azure/en-US/07cbfc3a-bced-45b7-80d2-a9d32a7c95d4/supportedos-manifest-for-windows-10?forum=windowsgeneraldevelopmentissues

+0

Работает! Отлично, спасибо. –

+6

См. [Manifest Madness] (http://blogs.msdn.com/b/chuckw/archive/2013/09/10/manifest-madness.aspx). –

1

Другие идентификаторы GUID для других контекстов ОС:

| OS    | GetVersionEx | supportedOS Id            | 
|-----------------|--------------|------------------------------------------------------------| 
| Windows 10  | 10.0   | <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> | 
| Windows 8.1  | 6.3   | <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> | 
| Windows 8  | 6.2   | <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> | 
| Windows 7  | 6.1   | <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> | 
| Windows Vista | 6.0   | <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> | 
| Windows XP  | 5.1   | n/a              | 
| Windows 2000 | 5.0   | n/a              | 
| Windows NT 4 | 4.0   | n/a              | 
| Windows NT 3.51 | 3.51   | n/a              | 
| Windows NT 3.1 | 3.1   | n/a              | 
+1

Для Windows 10 'GetVersionEx' возвращает' 10.0' не '6.4'. см .: https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions – kobik

Смежные вопросы