2010-02-16 10 views
7

Tengo una aplicación Java que necesita ejecutarse de manera diferente cuando está en Windows 7.¿Cómo probar la plataforma de Windows 7?

¿Cómo verificaría qué versión de Windows está presente? ¿Es suficiente verificar la versión 6.1 del sistema operativo?

+0

Gracias por las respuestas! También me pregunto cómo será el número de versión después del siguiente service pack: 6.1.1 o qué? Si es así, ya no es un doble simple ... – paul

+2

Si necesita verificar la versión de Windows, probablemente esté atacando su problema desde el ángulo equivocado. ¿Qué es lo que estás tratando de lograr? –

+0

@ So/ren - es solo que el departamento de PC quiere cambiar la ruta de almacenamiento de datos predeterminada para nuevas implementaciones (Win7). Tendré que usar un camino separado. Supongo que podría solicitar una variable de entorno, pero ya es demasiado tarde ... – paul

Respuesta

5

he resuelto el mismo problema también para comprobar os.name, de una manera segura nulo:

public boolean runningOnWindows7() { 
    String osName = System.getProperty("os.name"); 
    String osVersion = System.getProperty("os.version"); 
    return "Windows 7".equals(osName) && "6.1".equals(osVersion); 
} 
2

Los números de versión del sistema operativo son bastante distintos.

Por ejemplo, XP se designa con el número 5.1 y Windows 7 denota un 6,1

Los números de compilación determinan las actualizaciones y paquetes de servicio.

Debería ser bastante confiable verificar el número de versión del sistema operativo. pero tenga en cuenta que Java puede ejecutarse en Linux y Mac si Java está instalado en la máquina.

2
System.getProperty("os.name") 
System.getProperty("os.version") 

Windows 7 = versión 6.1

1

Fix a la respuesta DFA 's :

public boolean runningOnWindows7() { 
    String osName = System.getProperty("os.name"); 
    String osVersion = System.getProperty("os.version"); 
    return "Windows 7".equals(osName) || "6.1".equals(osVersion); 
} 

|| en lugar de & &