2014-10-01 8 views
13

통계에 대한 OS 버전을 감지하고 있습니다. Windows 8.1부터 GetVersion을 사용할 경우 the OS "lies" about its version. 그러나 System.Environment.OSVersionstill calls this API (.NET 4.5.1 기준). 따라서 우리는 위의 목록에 8.1's GUID을 추가했습니다.Windows 10에서 지원되는 GU GUID는 무엇입니까?

이제 Windows 10에서도 같은 것을 준비하고 싶습니다. 아직 GUID가 알려져 있습니까?

(편집) P/호출 6.4 이상을 확인하는 VerSetConditionMask 및 VerifyVersionInfo가 작동하는 것처럼 보입니다.

+0

통계를 수집, 참조 http://stackoverflow.com/a/25986612/886887 –

+0

그게 효과가 있을지 모르지만, 그것은 상당히 더러운 해킹처럼 보일뿐 아니라, 새로운 OS에서 Program Compatibility Assistant와의 호환성을 주장하지 않을 수도 있습니다. –

+0

알려졌다면 변경 될 수 있습니다. –

답변

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

출처 : 다른 OS 컨텍스트에 대한 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'는'6.4'가 아닌'10.0'을 반환합니다. 참조 : https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions – kobik