182 votes

Détecter Windows 7 dans .net

Comment puis-je détecter Windows 7 (versions) dans .net ?

Quel est le code que je peux utiliser ?

338voto

Daniel DiPaolo Points 24085

System.Environment.OSVersion a l'information dont vous avez besoin pour distinguer la plupart des OS Windows versions majeures, mais pas tous. Il se compose de trois composants de la carte pour les versions suivantes de Windows:

+-----------------------------------------------------------------------------------------------------------------------------------------+
|           |   Windows    |   Windows    |   Windows    |Windows NT| Windows | Windows | Windows | Windows | Windows | Windows | Windows |
|           |     95       |      98      |     Me       |    4.0   |  2000   |   XP    |  2003   |  Vista  |  2008   |    7    | 2008 R2 |
+-----------------------------------------------------------------------------------------------------------------------------------------+
|PlatformID | Win32Windows | Win32Windows | Win32Windows | Win32NT  | Win32NT | Win32NT | Win32NT | Win32NT | Win32NT | Win32NT | Win32NT |
+-----------------------------------------------------------------------------------------------------------------------------------------+
|Major      |              |              |              |          |         |         |         |         |         |         |         |
| version   |      4       |      4       |      4       |    4     |    5    |    5    |    5    |    6    |    6    |    6    |    6    |
+-----------------------------------------------------------------------------------------------------------------------------------------+
|Minor      |              |              |              |          |         |         |         |         |         |         |         |
| version   |      0       |     10       |     90       |    0     |    0    |    1    |    2    |    0    |    0    |    1    |    1    |
+-----------------------------------------------------------------------------------------------------------------------------------------+

Pour une bibliothèque qui vous permet d'obtenir une vue plus complète de l' exacte version de Windows que l'actuel environnement d'exécution est en cours d'exécution, découvrez cette bibliothèque.

EDIT: mis à jour avec les versions à partir de ce lien

EDIT (2011/03/15): Changé PlatformID réel les valeurs de l'enum plutôt que int valeurs, modifié Win 7 1 nombre mineur grâce à un commentaire de pointage (et je peux maintenant confirmer avec un Win7 machine), ajout d'un lien vers une bibliothèque qui peut vous aider.

63voto

Gabe Points 24378

J’ai utilisé cela quand j’ai eu à déterminer les différentes versions du système d’exploitation Microsoft :

Source : ici

8voto

Comme R. Bemrose suggéré, si vous faites de Windows 7 caractéristiques spécifiques, vous devriez regarder la Windows® Code de l'API Pack pour Microsoft® .NET Framework.

Il contient un CoreHelpers classe qui permet de déterminer le système d'exploitation, vous êtes actuellement sur (XP et au-dessus seulement, son exigence .NET aujourd'hui)

Il fournit également plusieurs méthodes d'aide. Par exemple, supposons que vous voulez utiliser la liste de raccourcis de Windows 7, il existe une classe TaskbarManager qui fournissent une propriété appelée IsPlatformSupported et il retournera vrai si vous êtes sur Windows 7 et au-dessus.

7voto

Gregoire Points 11270

via `` qui « obtient un objet System.OperatingSystem qui contient le numéro de version et l’identificateur de plate-forme actuel. »

5voto

Dave Swersky Points 25958

Comment déterminer la version de Windows à l’aide de Visual c# à http://support.microsoft.com/kb/304283

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X