Título: [C/C++] Detectar versión de Windows Publicado por: _TTFH_3500 en 8 Abril 2016, 02:45 am Quería saber como hacer para detectar la versión de Windows en C, sin importar que ejecute el programa en modo de compatibilidad, de hecho me alcanza con encontrar el primer numero en la versión (en win xp y 2000 es el 5, en win 7, 8 y 8.1 es el 6, en win 10 el 10, etc.).
Se que hay otras menares de detectar la versión como si existe "Documents and Setting", si existe d3d12.exe, pero me gustaría algo mas general. En Batch seria asi y siempre funciona ya que 'ver' es igual en modo compatibilidad. Código En Visual Basic Script seria: Código
Pero en C no me funciona, ademas de que GetVersion devuelve otro valor en win8.1 y win10. Código
Lo que busco es lo que en el ejemplo seria el valor de la variable dwMajorVersion Título: Re: [C/C++] Detectar versión de Windows Publicado por: MCKSys Argentina en 8 Abril 2016, 03:04 am Revisaste esta (https://msdn.microsoft.com/en-us/library/windows/desktop/dn424972(v=vs.85).aspx) info?
Saludos! Título: Re: [C/C++] Detectar versión de Windows Publicado por: _TTFH_3500 en 8 Abril 2016, 04:36 am Revisaste esta (https://msdn.microsoft.com/en-us/library/windows/desktop/dn424972(v=vs.85).aspx) info? Saludos! Si, las funciones IsWindows**OrGreater en versionhelpers.h se basan en que por ejemplo en winXP no puedo ejecutar en modo compatibilidad con Win7, entonces estaría usando WinXP o mayor, pero no funciona si es al revés porque si ejecuto en modo compatibilidad con X versión, tengo esa versión o mayor y no se exactamente cual. Creo que podría solucionarlo con esto: https://msdn.microsoft.com/en-us/library/windows/desktop/ms725492%28v=vs.85%29.aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms725492%28v=vs.85%29.aspx), luego lo pruebo. Usando VerifyVersionInfo y lpVersionInfo de windows.h |