none
Obtener información sobre versión de Windows RRS feed

  • Pregunta

  • Hola compañeros, estoy creando una aplicación donde se le informe todos los datos técnicos de su pc, así como lo hace Ccleaner, que le muestra casi todos los datos de la pc, ya he hecho casi todo, pero no encuentro la manera de transformar la supuesta información que obtengo, y ps según la información q encontré debe ser con GetVersionEx, pero no sé como traducir esa información q obtiene ese código a por ejemplo "Ud tiene Windows 7 ", Gracias al q me responda!!.
    viernes, 16 de julio de 2010 2:58

Respuestas

  • Me aburria, me ha picado la curiosidad y he investigado por mi cuenta y en http://msdn.microsoft.com/en-us/library/ms724833(VS.85).aspx he encontrado esto:

    Operating system Version number dwMajorVersion dwMinorVersion Other
    Windows 7 6.1 6 1 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
    Windows Server 2008 R2 6.1 6 1 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
    Windows Server 2008 6.0 6 0 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
    Windows Vista 6.0 6 0 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
    Windows Server 2003 R2 5.2 5 2 GetSystemMetrics(SM_SERVERR2) != 0
    Windows Home Server 5.2 5 2 OSVERSIONINFOEX.wSuiteMask & VER_SUITE_WH_SERVER
    Windows Server 2003 5.2 5 2 GetSystemMetrics(SM_SERVERR2) == 0
    Windows XP Professional x64 Edition 5.2 5 2 (OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION) && (SYSTEM_INFO.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
    Windows XP 5.1 5 1 Not applicable
    Windows 2000 5.0 5 0 Not applicable

    O, si sólo quieres el texto con el SO sin mayores sutilezas, puede que te sirva la Rama del registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion y consultar la Clave ProductName. Para otros datos te pueden servir las claves: CurrentVersion, EditionID y/o InstallationType

     

    sábado, 17 de julio de 2010 8:23

Todas las respuestas

  •  Windows 7

    6.1
    Windows Server 2008 R2 6.1
    Windows Server 2008 6.0
    Windows Vista 6.0
    Windows Server 2003 R2 5.2
    Windows Server 2003 5.2
    Windows XP 64-Bit Edition 5.2
    Windows XP 5.1
    Windows 2000 5.0

    Obtenido de http://msdn.microsoft.com/en-us/library/ms724832(v=VS.85).aspx

     

    viernes, 16 de julio de 2010 5:59
  • Pero como diferenciaría por ejemplo entre Windows 7 y Windows Server 2008 R2 ??, tendría que usar VerifyVersionInfo?? Gracias Bartomeu.
    viernes, 16 de julio de 2010 23:14
  • En mi trabajo eso nunca me ha preocupado. Actualmente el nucleo de los dos es el mismo, y por lo tanto no hay diferencia práctica para lo que yo hago.

    Pero si tú quieres determinar cual es uno y cual es otro, al igual que las sutilezas en las versiones 6.0 y 5.2, leete todo el enlace que te mandé y verás que te recomienda controlar la existencias, o no existencia, de las características que están en uno y no en otro. Lo mismo te puede servir para diferenciar los distintas versiones de windows 7: Home, premiun, profesional o ultimate.

    Para diferenciar un 7 de un 2008, por ejemplo mira si existe algo que sólo pueda estar en 2008 y que no sea opcional. ¿Algo relativo a gestión de usuarios o cuotas de disco?

    Investiga todos los enlaces que parten de la página que te envié.

         Suerte.

    sábado, 17 de julio de 2010 7:04
  • Me aburria, me ha picado la curiosidad y he investigado por mi cuenta y en http://msdn.microsoft.com/en-us/library/ms724833(VS.85).aspx he encontrado esto:

    Operating system Version number dwMajorVersion dwMinorVersion Other
    Windows 7 6.1 6 1 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
    Windows Server 2008 R2 6.1 6 1 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
    Windows Server 2008 6.0 6 0 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
    Windows Vista 6.0 6 0 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
    Windows Server 2003 R2 5.2 5 2 GetSystemMetrics(SM_SERVERR2) != 0
    Windows Home Server 5.2 5 2 OSVERSIONINFOEX.wSuiteMask & VER_SUITE_WH_SERVER
    Windows Server 2003 5.2 5 2 GetSystemMetrics(SM_SERVERR2) == 0
    Windows XP Professional x64 Edition 5.2 5 2 (OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION) && (SYSTEM_INFO.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
    Windows XP 5.1 5 1 Not applicable
    Windows 2000 5.0 5 0 Not applicable

    O, si sólo quieres el texto con el SO sin mayores sutilezas, puede que te sirva la Rama del registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion y consultar la Clave ProductName. Para otros datos te pueden servir las claves: CurrentVersion, EditionID y/o InstallationType

     

    sábado, 17 de julio de 2010 8:23
  • Huy muchas gracias!, voy tratar de las dos maneras, muchas gracias =D
    domingo, 18 de julio de 2010 16:33