Partager via


Détection d’une suite de produits

L’exemple suivant utilise la fonction VerifyVersionInfo pour déterminer si la ou les suites de produits spécifiées sont installées sur l’ordinateur local.

Cet exemple utilise l’indicateur VER_AND. Si deux indicateurs sont spécifiés dans le masque de suite, la fonction retourne TRUE uniquement si les deux suites de produit sont présentes. Si l’exemple était modifié pour utiliser l’indicateur VER_OR, VerifyVersionInfo retournerait TRUE si l’une ou l’autre suite de produits était présente.

#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");
}