C#: Determinar si el Sistema Operativo es servidor

C#: Determinar si el Sistema Operativo es servidor

Introducción

Muchas veces es necesario conocer qué versión de Windows estamos corriendo en nuestros clientes. En esta entrada mostraré cómo saber si el sistema operativo es cliente o es servidor. Con esto lograremos ejecutar determinadas acciones dependiendo de esta funcionalidad.

Función

Básicamente utilizamos la función IsOS para determinar su valor y obtener el resultado que buscamos. Mas información sobre esta función la puedes encontrar aquí.


public class SO
{
public static bool EsWindowsServer()
{
//Esta constante indica que hablamos de Windows Server
const int OS_ANYSERVER = 29;
//Llamamos a la función correspondiente y pasamos como parámetro el valor OS_ANYSERVER (para cualquier SO de servidor).
return SO.IsOS (SO.OS_ANYSERVER);
}

//Llamada a código no administrado. Ver funcionalidad de DllImport en la conclusión.
[DllImport("shlwapi.dll", SetLastError=true, EntryPoint="#437")]
private static extern bool IsOS(int os); //
}

Luego llamas a la función SO.EsWindowsServer() y ya tienes esta funcionalidad disponible para tu aplicación.

Conclusión

Llamando a esta simple función puedes determinar detalles importantes de sistema operativo, si te interesan los demás valores puedes investigarlos aquí. También puedes obtener mayor información sobre llamadas a código no administrado aquí.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.