2014-10-01 19 views
13

İstatistikler için işletim sistemi sürümünü tespit ediyoruz. GetVersion kullanırken Windows 8.1, the OS "lies" about its version ile başlayarak. Ancak, .NET 4.5.1'den itibaren System.Environment.OSVersionstill calls this API. Bu nedenle, mükemmel çalışan manifestoya 8.1's GUID ekledik.Windows 10 için desteklenenOS GUID nedir?

Şimdi, Windows 10 için de aynı şeyi hazırlamak istiyorum. GUID bunun için bilinir mi?

P/Invoking VerSetConditionMask ve VerifyVersionInfo denetlemek için 6.4 ya da daha büyük bir kısmı işe yaramıyor.

+0

istatistiklerini toplayarak, bkz http://stackoverflow.com/a/25986612/886887 –

+0

Bu muhtemelen işe yarayacak olsa da, oldukça kirli bir hack gibi görünüyor ve aynı zamanda uygulamanın Program Uyumluluk Asistanı için yeni işletim sistemi ile uyumluluk sağlamadığı anlamına gelir. –

+0

Bilindiği takdirde, değişebilir. –

cevap

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

Kaynak: diğer işletim bağlamlar için http://social.msdn.microsoft.com/Forums/azure/en-US/07cbfc3a-bced-45b7-80d2-a9d32a7c95d4/supportedos-manifest-for-windows-10?forum=windowsgeneraldevelopmentissues

+0

Çalışmaları! Mükemmel teşekkürler. –

+6

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

1

Diğer Guıd: Daha iyi bir yaklaşım için

| 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 için "GetVersionEx", "10.0" değil "6.4" değerini döndürür. bakın: https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions – kobik

İlgili konular