Estoy tratando de jugar con el objeto Environment.OSVersion.Version
y realmente no puedo decir qué versión indicaría que el sistema operativo es Windows XP o superior (por ejemplo, quiero excluir Windows 2000, ME o versiones anteriores).¿Cómo saber si el sistema operativo es Windows XP o superior?
Respuesta
Utilice el objeto System.OperatingSystem
, luego filtre en Major & Número de versión secundaria.
he utilizado estas funciones en el pasado:
static bool IsWinXPOrHigher()
{
OperatingSystem OS = Environment.OSVersion;
return (OS.Platform == PlatformID.Win32NT) && ((OS.Version.Major > 5) || ((OS.Version.Major == 5) && (OS.Version.Minor >= 1)));
}
static bool IsWinVistaOrHigher()
{
OperatingSystem OS = Environment.OSVersion;
return (OS.Platform == PlatformID.Win32NT) && (OS.Version.Major >= 6);
}
Compruebe que la propiedad Major
es mayor o igual que 5, y si es 5 entonces Minor
es al menos 1. (XP fue 5.1, 2003 fue 5.2, Vista/2008 fue 6.0).
... y Windows 7 es 6.1 – Esko
Tenga en cuenta que WinXP 32-bit es la versión 5.1; WinXP de 64 bits es la versión 5.2. –
Y esta es exactamente la razón por la que debe buscar lo que necesita en lugar de verificar el número de versión y por qué Win7 es la versión 6.1 y no la 7.0. Verificando el número de versión es fácil equivocarse, y no siempre te dice lo que querías saber. – Stewart
No debe marcar el número de versión. En su lugar, debe verificar la funcionalidad que necesita. Si se trata de una API específica, busca, por ejemplo, LoadLibrary y GetProcAddress, de esa manera, no dependes del número de versión.
Dado que una dependencia es la razón por la que necesita la versión, esa es una muy buena idea. – daramarak
¿Cómo comprobar si el sistema operativo admite RegFree COM? – AngryHacker
Intenta cargar un componente desde tu manifiesto. Si no funciona, la plataforma no es compatible con COM – Stewart
- 1. ¿Cómo comprobar si el sistema operativo es Vista en Python?
- 2. Detectar el sistema operativo
- 3. Cómo determinar el sistema operativo
- 4. Identificando si el sistema operativo es (abierto) SUSE en Python?
- 5. sistema operativo y aplicaciones WPF
- 6. ¿Cómo puedo comprobar si el sistema operativo es Sun OS o Unix o Solaris a partir de bashrc
- 7. ¿Es posible hacer un sistema operativo usando Java?
- 8. .NET Framework 4.5 requisitos del sistema operativo (sin Vista y XP)
- 9. ¿Cómo abortar el apagado en Windows (XP | Vista) programáticamente?
- 10. ¿Cómo detectar el sistema operativo de una aplicación Silverlight?
- 11. Cómo detectar si el sistema operativo Linux usa el entorno KDE o Gnome
- 12. Detectar la versión exacta del sistema operativo desde el navegador
- 13. Cómo obtener la versión del sistema operativo asp.net
- 14. ¿Estoy codificando para un sistema operativo o el procesador?
- 15. saber si .lib es estático o importar
- 16. Obtener el nombre del sistema operativo del cliente
- 17. Tiempo de compilación del sistema operativo
- 18. ¿Cómo puedo verificar si Windows Installer 3.1 o una versión superior está instalada?
- 19. ¿Existe copia cero en el sistema operativo Windows?
- 20. Determine si O/S es Windows 7
- 21. Determine el sistema operativo en .vimrc
- 22. jQuery - detectando el sistema operativo y la versión del sistema operativo
- 23. El sistema operativo está eliminando el hilo
- 24. Determine si Linux o Windows en C++
- 25. ¿Cómo detectar el sistema operativo en ejecución?
- 26. ¿qué es un sistema operativo sin tics?
- 27. Sistema operativo recomendado para Visual Studio 2008
- 28. Cómo determinar el sistema operativo en elisp?
- 29. ¿Cómo puedo usar VBScript para determinar si estoy ejecutando un sistema operativo Windows de 32 o 64 bits?
- 30. ¿Qué sistema operativo es el mejor para desarrollo PHP o desarrollo en general?
¿PlatformID aún es Win32NT si el sistema operativo es de 64 bits? – AngryHacker
@AngryHacker PlatformID.Win32 = "El sistema operativo es Windows NT o posterior.", Entonces sí. – ParmesanCodice
Cambié el código de IsWinXp para comprobar si es Windows XP o superior. Lo mismo con Vista. – AngryHacker