Compartir a través de


Detección de un conjunto de productos

En el ejemplo siguiente se usa la función VerifyVersionInfo para determinar si los conjuntos de productos especificados están instalados en el equipo local.

En este ejemplo se usa la marca VER_AND. Si se especifican dos marcas en la máscara de conjunto de aplicaciones, la función devuelve TRUE solo si ambos conjuntos de productos están presentes. Si se cambió el ejemplo para usar la marca VER_OR, VerifyVersionInfo devolvería TRUE si alguno de los conjuntos de productos estuviera presente.

#include <windows.h>
#include <stdio.h>

BOOL CheckProductSuite ( WORD wSuite ) 
{
  OSVERSIONINFOEX osvi;
  DWORDLONG dwlConditionMask = 0;

  // Initialize the OSVERSIONINFOEX structure.

  ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
  osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
  osvi.wSuiteMask = wSuite;

  // Set up the condition mask.

  VER_SET_CONDITION( dwlConditionMask, 
          VER_SUITENAME, VER_AND );

  // Perform the test.

  return VerifyVersionInfo(
          &osvi, 
          VER_SUITENAME,
          dwlConditionMask);
}

void main()
{
    if( CheckProductSuite(VER_SUITE_ENTERPRISE) )
        printf( "The system meets the requirements.\n" );
    else printf( "The system does not meet the requirements.\n");
}